1E-08到十进制

use*_*964 2 c# decimal

可能重复:
从指数表示法解析数字
Decimal.Parse()是否支持科学计数法?

我试图将这样的值转换为1E-08到C#中的十进制,因为小数是处理资金的优先数据类型但我在decimal.Parse()上输入错误"输入字符串的格式不正确." 不会先转换为浮动然后转换为十进制失败的目的?

aka*_*tos 6

是的,转换为浮动确实会破坏目的.好消息是,你不必在这做!

你可以使用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)