Meh*_*met 92 .net c# string floating-point type-conversion
我正在转换像"41.00027357629127"这样的字符串,我正在使用;
Convert.ToSingle("41.00027357629127");
Run Code Online (Sandbox Code Playgroud)
要么
float.Parse("41.00027357629127");
Run Code Online (Sandbox Code Playgroud)
这些方法返回4.10002732E + 15.
当我转换为浮动时,我想要"41.00027357629127".这个字符串应该是相同的......
Mat*_*son 211
您的线程的语言环境设置为小数标记为","而不是"."的区域设置.
试试这个:
float.Parse("41.00027357629127", CultureInfo.InvariantCulture.NumberFormat);
Run Code Online (Sandbox Code Playgroud)
但请注意,浮点数不能保持那么多精度数字.您必须使用double或Decimal才能这样做.
Tig*_*ran 23
首先,它只是您在调试器中看到的数字的表示float.的真正价值约为准确(就像它是可能的).
注意:在处理浮点数与字符串时,请始终 使用CultureInfo信息.
float.Parse("41.00027357629127",
System.Globalization.CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)
这只是一个例子; 为您的案例选择合适的文化.
小智 15
您可以使用以下内容:
float asd = (float) Convert.ToDouble("41.00027357629127");
Run Code Online (Sandbox Code Playgroud)
使用 Convert.ToDouble("41.00027357629127");
| 归档时间: |
|
| 查看次数: |
447471 次 |
| 最近记录: |