Mar*_*hal 2 .net c# floating-point parsing
我string X
有价值2.26
当我使用float.Parse(X)
..it 解析它时2.2599999904632568
.为什么这样?以及如何克服这一点?
但如果相反我使用double.Parse(X)
它返回确切的值,即2.26
.
编辑:代码
float.Parse(dgvItemSelection[Quantity.Index, e.RowIndex].Value.ToString());
Run Code Online (Sandbox Code Playgroud)
感谢帮助
这是由于浮点数的精度有限.它们不能代表无限精确的值,而且往往采用近似值.如果你需要高精度的数字,你应该使用Decimal
.
关于这个主题有相当多的文献,你应该看看.我最喜欢的资源如下
归档时间: |
|
查看次数: |
2838 次 |
最近记录: |