我试图将这样的值转换为1E-08到C#中的十进制,因为小数是处理资金的优先数据类型但我在decimal.Parse()上输入错误"输入字符串的格式不正确." 不会先转换为浮动然后转换为十进制失败的目的?
是的,转换为浮动确实会破坏目的.好消息是,你不必在这做!
你可以使用Parse的重载来获取NumberStyles说明符:
decimal d = decimal.Parse("1E-08",
System.Globalization.NumberStyles.AllowExponent);
Run Code Online (Sandbox Code Playgroud)
当然,如果您只是指定一个硬编码的十进制数,则可以使用十进制文字格式:
decimal d = 1E-08M;
Run Code Online (Sandbox Code Playgroud)