从数据库读取float型数后相加的误差问题
我在程序中从数据库读取一个存储为float型的数据,它的值是0.06,读取时所用的方法是(float)(SqlDataReader.GetDouble()),然后对以此数为一个常量用在程序中.
但此常量经过50次累加后(即51个该常量相加),所得数字为3.059998,而不是3.06,这是为什么?有什么方法可以解决此问题么?
相关环境:
sqlserver2000
.net 1.1 vs2003
------解决方案--------------------Double的精度比FLOAT的精度高
------解决方案--------------------精度问题...
------解决方案--------------------不是精度问题而是浮点误差...改用 decimal 类型...
double 和 float 都是浮点数...一样的问题...