<分区>
有一个看起来像“1.900,00”的字符串。如何将此字符串格式化为小数点 1900?
使用:
decimal.TryParse("1.900,00", out var vkp)
会给我一个错误的结果。我该如何处理?
这是在线 C# 编译器的 URL:https://dotnetfiddle.net/B5EyyC
<分区>
有一个看起来像“1.900,00”的字符串。如何将此字符串格式化为小数点 1900?
使用:
decimal.TryParse("1.900,00", out var vkp)
会给我一个错误的结果。我该如何处理?
这是在线 C# 编译器的 URL:https://dotnetfiddle.net/B5EyyC
最佳答案
您可以尝试使用 CultureInfo
,它使用 '.'
作为千位分隔符和 ','
作为小数点分隔符(例如 "de-DE"
).还有适当的 NumberStyles
。
string input = "1.900,00";
decimal.TryParse(input,
NumberStyles.AllowThousands | NumberStyles.AllowDecimalPoint,
CultureInfo.GetCultureInfo("de-DE"), out var output);
您甚至可以创建自己的 NumberFormatInfo 实例您可以在其中以任何您喜欢的方式指定 NumberDecimalSeparator
和 NumberGroupSeparator
。
关于c# - 将带点和逗号的数字转换为 double 会失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55165887/