我有一个senario,我将数字转换为单词,我已经成功,但我找到了一个不起作用的场景.如果我输入数字为" 10 ",则显示" 十 ".此外," 10.2 "将显示" 十点二 ".但是,如果我输入" 10.0 ",它将不会显示为" 十点零 ".
为了从小数部分中分离整数部分,我通常将数字除以' .',但如果我输入一个像" 10.0 " 这样的数字,字符串数组将只包含" 10 "而不是" 0 "
我做的随地吐痰部分如下:
string[] number = Convert.ToString(context.NumberToTranslate).Split('.');
Run Code Online (Sandbox Code Playgroud)
要测试你的数字是否是一个小数点的整数,你可以试着解析它
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)
另请参阅自定义数字格式字符串
| 归档时间: |
|
| 查看次数: |
532 次 |
| 最近记录: |