字符串值为"90-"。为什么十进制将其解析为"-90"double抛出了FormatException

var inputValue= "90-";
Console.WriteLine(decimal.Parse(inputValue));
Console.WriteLine(double.Parse(inputValue));

最佳答案

默认情况下,decimal.Parse(string s)重载使用NumberStyle NumberStyles.Number进行调用,其定义为:



请注意,包括了AllowTrailingSign。如果要自定义行为,则应显式调用重载,该重载允许您指定数字样式并根据需要进行调整。

关于c# - 十进制解析问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23297079/

10-10 04:02