Ren*_*osa 0 c# type-conversion decimalformat
我需要将格式为"101.46"的任何值转换为十进制.
string s = "101.46";
decimal value = Convert.ToDecimal(s);
Run Code Online (Sandbox Code Playgroud)
但小数最终值始终为10146.我需要输出值的格式为十进制的101.46
Convert.ToDecimal将使用当前正在执行的线程的文化 - 我的猜测是,在您的情况下,这是一种文化,,用作小数分隔符而不是..你只需要指定正确的文化 - 这通常是不变的文化 - 几乎总是正确的文化用于任何旨在机器可读的字符串.(你也应该使用不变文化来创建这样的字符串.)
我通常建议使用静态Parse方法Convert.ToXyz(因为它们通常更有能力,并且也有TryParse选项),所以当你可以传递不变文化时Convert.ToDecimal,我会使用:
decimal value = decimal.Parse(text, CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2040 次 |
| 最近记录: |