识别C#中的指数值

时间:2016-07-19 16:02:57

标签: c# parsing decimal exponential

我正在使用我的c#代码集成一个库。我正在使用库中的十进制参数。参数返回通常的十进制值大多如:0.24756400。但有时它会以指数格式返回值,如:0E-8。

当我尝试在我的代码中处理参数时,例如当我像这样解析它时:

Decimal.Parse(paymentAuth.IyziCommissionFee);)

它给了我异常

  当值为指数格式时,

对象引用未设置为对象的实例。

如果我可以识别价值格式(数字或指数),我可以管理它。

那么如何确定该值是否为指数格式?或者,有任何建议来管理这种情况吗?

1 个答案:

答案 0 :(得分:1)

您无需确定它是否为指数

如果要将可能是指数格式的字符串解析为小数,可以使用Decimal.Parse方法的重载来执行此操作。

System.Globalization.NumberStyles

这指定传入的字符串是一个浮点数,您可以使用您正在讨论的指数格式表示它。

您可以在此处阅读有关此重载和var result = Decimal.Parse( paymentAuth.IyziCommissionFee, System.Globalization.NumberStyles.Float ); 类型的MSDN文档: