提问人:odbasta 提问时间:9/16/2008 更新时间:11/11/2017 访问量:46273
在 C 中从科学记数法字符串转换为浮点数#
Convert from scientific notation string to float in C#
答:
62赞
user1228
9/16/2008
#1
Double.Parse("1.234567E-06", System.Globalization.NumberStyles.Float);
评论
19赞
Tim Schmelter
6/10/2013
如果当前区域性的小数点分隔符不是 ,则不起作用。因此,始终有效的方法是使用或(更好的)力:.
NumberStyles.Any
InvariantCulture
Double.Parse("1.234567E-06", NumberStyles.Float, CultureInfo.InvariantCulture);
0赞
Eric Ness
1/11/2014
请注意,如果将 .ToString() 在此过程结束时调用它将返回科学记数法,而不是仅包含数字的字符串。我需要在 .ToString() 调用以正确设置浮点格式。
13赞
Jaymie Thomas
10/21/2008
#2
还可以考虑使用
Double.TryParse("1.234567E-06", System.Globalization.NumberStyles.Float, out MyFloat);
这将确保在由于任何原因无法执行转换时将其设置为值 0。或者,您可以将示例包装在一个块中,并在检测到异常时设置为您选择的值。MyFloat
Double.Parse()
Try..Catch
MyFloat
评论
22赞
Carl
10/21/2008
您不想依赖 MyFloat 为 0 来指示转换失败,您希望依赖 bool 返回值。
评论