MyException - 我的异常网
当前位置:我的异常网» C# » 从数据库读取float型数后相加的误差有关问题

从数据库读取float型数后相加的误差有关问题

www.MyException.Cn  网友分享于:2013-12-21  浏览:39次
从数据库读取float型数后相加的误差问题
我在程序中从数据库读取一个存储为float型的数据,它的值是0.06,读取时所用的方法是(float)(SqlDataReader.GetDouble()),然后对以此数为一个常量用在程序中.

但此常量经过50次累加后(即51个该常量相加),所得数字为3.059998,而不是3.06,这是为什么?有什么方法可以解决此问题么?

相关环境:
sqlserver2000
.net   1.1   vs2003

------解决方案--------------------
Double的精度比FLOAT的精度高
------解决方案--------------------
精度问题...
------解决方案--------------------
不是精度问题而是浮点误差...改用 decimal 类型...

double 和 float 都是浮点数...一样的问题...

文章评论

软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有