【发布时间】:2011-12-14 05:44:28
【问题描述】:
有没有一种快速的方法可以将指数表示法的数字(例如:“0.5e10”或“-5e20”)转换为十进制或双精度数?
更新:我找到了Parse a Number from Exponential Notation,但除非我指定了文化,否则这些示例对我不起作用。
解决方案:
double test = double.Parse("1.50E-15", CultureInfo.InvariantCulture);
【问题讨论】:
-
@Ramhound:出于多种原因,这并不理想;更不用说使用昂贵的浮点运算,不必要地复杂化,并且是为更通用的 x ^ y 运算而设计的,其中 x 和 y 都是实数。
-
你试过 double.TryParse 和 decimal.TryParse 吗?