如何使用C#将科学计数法字符串(例如“1.234567E-06”)正确转换为浮点变量?
如何使用C#将科学计数法字符串(例如“1.234567E-06”)正确转换为浮点变量?
Double.Parse("1.234567E-06", System.Globalization.NumberStyles.Float);
同时考虑使用
Double.TryParse("1.234567E-06", System.Globalization.NumberStyles.Float, out MyFloat);
如果由于某种原因无法进行转换,这将确保MyFloat
的值为0。或者您可以在Try..Catch
块中包装Double.Parse()
示例,并在检测到异常时将MyFloat
设置为您选择的值。
.
,则无法工作。因此始终有效的方法是使用NumberStyles.Any
或(更好的方法)强制使用InvariantCulture
:Double.Parse("1.234567E-06", NumberStyles.Float, CultureInfo.InvariantCulture);
。 - Tim Schmelter