我有一个这样的十进制数:
62.000,0000000
我需要将该小数转换为整数;它总是有零个小数;所以我不会失去任何精度。我想要的是:
62.000
存储在 c# 中的一个 int 变量上。
我尝试了很多方法,但它总是给我一个错误,字符串的格式不正确,这是我尝试过的方法之一:
int.Parse("62.000,0000000");
希望你能帮助我,谢谢。
最佳答案
您需要在正确的文化中解析它。例如,德国文化使用“.”。作为组分隔符和“,”作为小数点分隔符 - 所以这段代码有效:
CultureInfo german = new CultureInfo("de-DE");
decimal d = decimal.Parse("62.000,0000000", german);
int i = (int) d;
Console.WriteLine(i); // Prints 62000
这就是你想要的吗?请注意,如果您使用不同文化格式的数字显示它,这将失败......
编辑:正如 Reed 在他的评论中提到的,如果您的真实文化是西类牙,则将“de-DE”换成“es-ES”以备不时之需。
关于c# - 十进制类型转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1971076/