我正在尝试将 1E-08 等值转换为 C# 中的小数,因为小数是处理资金的首选数据类型,但在 decimal.Parse()“输入字符串格式不正确”时出现错误。不会先转换为浮点数,然后再转换为小数会破坏目的吗?
问问题
11529 次
2 回答
6
是的,转换为浮动确实会破坏目的。好消息是,您不必在这里这样做!
您可以使用带有 NumberStyles 说明符的 Parse 重载:
decimal d = decimal.Parse("1E-08",
System.Globalization.NumberStyles.AllowExponent);
当然,如果你只是指定一个硬编码的十进制,你可以使用十进制文字格式:
decimal d = 1E-08M;
于 2012-11-26T19:09:05.063 回答
4
您可以尝试:-
decimal x = decimal.Parse("1E-08", NumberStyles.Float);
于 2012-11-26T19:11:55.667 回答