c# - 十进制类型转换

标签 c# formatting

我有一个这样的十进制数:

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/

相关文章:

javascript - Knockout 未绑定(bind)到模型的问题

应用规则后 Excel 条件格式公式更改

Python - 在嵌套循环中删除一行中的第一个单词

.net - 如何覆盖 ASP.NET Web 应用程序当前区域性的货币格式?

c# - 创建一个没有无限实例化的实例

C# 将表单中的数据插入访问数据库

android - 使用电话号码格式 NaN 屏蔽 EditText,如 PhoneNumberUtils

c# - 使用对象初始化器时修复缩进

c# - 从客户端 MVC4 检测到潜在危险的 Request.Form 值

c# - 求三次多项式的根