我有一个将数字转换为单词的场景,我已经成功了,但我发现了一种情况它不起作用。如果我输入数字“10”,它会显示“十”。此外,“10.2”将显示“十点二”。但是,如果我输入“10.0”,它不会显示为“十点零”。
为了将整数部分与小数部分分开,我通常用'.'来分割数字,但是如果我输入像“10.0”这样的数字,字符串数组将只包含“10”而不包含“0”
我完成的吐痰部分如下:
string[] number = Convert.ToString(context.NumberToTranslate).Split('.');
最佳答案
要测试您的数字是否为不带小数点的整数,您可以尝试使用
解析它int tmpInt;
bool isInteger = Int32.TryParse(num.ToString(), out tmpInt);
如果它是一个整数,只需将数字转换为您的字符串表示形式,否则无论使用自定义格式字符串如何,都保留小数点后的数字:
string number = num.ToString("#.0");
如果您的数字小于 1,也会出现同样的问题,因此您也可以对小数点前的数字使用零占位符:
string number = num.ToString("#0.0");
关于c# - 如何从小数部分取零?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6785525/