我正在使用我的c#代码集成一个库。我正在使用库中的十进制参数。参数返回通常的十进制值大多如:0.24756400。但有时它会以指数格式返回值,如:0E-8。
当我尝试在我的代码中处理参数时,例如当我像这样解析它时:
Decimal.Parse(paymentAuth.IyziCommissionFee);)
它给了我异常
当值为指数格式时,对象引用未设置为对象的实例。
如果我可以识别价值格式(数字或指数),我可以管理它。
那么如何确定该值是否为指数格式?或者,有任何建议来管理这种情况吗?
答案 0 :(得分:1)
如果要将可能是指数格式的字符串解析为小数,可以使用Decimal.Parse
方法的重载来执行此操作。
System.Globalization.NumberStyles
这指定传入的字符串是一个浮点数,您可以使用您正在讨论的指数格式表示它。
您可以在此处阅读有关此重载和var result = Decimal.Parse(
paymentAuth.IyziCommissionFee,
System.Globalization.NumberStyles.Float
);
类型的MSDN文档: