如何从小数部分取零?

Feb*_*J S 3 c#

我有一个senario,我将数字转换为单词,我已经成功,但我找到了一个不起作用的场景.如果我输入数字为" 10 ",则显示" ".此外," 10.2 "将显示" 十点二 ".但是,如果我输入" 10.0 ",它将不会显示为" 十点零 ".

为了从小数部分中分离整数部分,我通常将数字除以' .',但如果我输入一个像" 10.0 " 这样的数字,字符串数组将只包含" 10 "而不是" 0 "

我做的随地吐痰部分如下:

string[] number = Convert.ToString(context.NumberToTranslate).Split('.');
Run Code Online (Sandbox Code Playgroud)

Bro*_*ass 5

要测试你的数字是否是一个小数点的整数,你可以试着解析它

int tmpInt;
bool isInteger = Int32.TryParse(num.ToString(), out tmpInt);
Run Code Online (Sandbox Code Playgroud)

如果它是一个整数,只需将数字转换为字符串表示,否则保留小数点后的数字,无论使用自定义格式字符串是什么:

 string number = num.ToString("#.0");
Run Code Online (Sandbox Code Playgroud)

如果您的数字小于1,则会出现同样的问题,因此您也可以使用零占位符来表示小数点前的数字:

 string number = num.ToString("#0.0");
Run Code Online (Sandbox Code Playgroud)

另请参阅自定义数字格式字符串