关于数据类型的问题

[复制链接]
查看11 | 回复1 | 2008-6-26 22:55:00 | 显示全部楼层 |阅读模式
存在数据库表里的两个real类型的数据,比如2.5和3.3,把他们转换乘double后相加并显示在页面中时变成了5.79999995231628,怎么不是5.8,怎么才能使他变成5.8
还是不行诶,我是这样子的,比如表里有一列是aa,有两行aa那格的值分别是2.5和3.3,然后
SqlDataAdapter da = new SqlDataAdapter("select sum(aa) as he from"bb,conn);
DataSet ds = new DataSet();
da.Fill(ds, "aa");
double db=Math.Round( Convert.ToDouble(ds.Tables["bb"].Rows[0]["he"]),1);
这样db的值还是5.79999995231628

回复

使用道具 举报

千问 | 2008-6-26 22:55:00 | 显示全部楼层
你想啊,内存里都是0,1串肯定表示不了所有小数,所以说浮点数的精度肯定是有损失的。double db = Math.Round(2.5+3.3,1);这个是四舍五入,不一定是1位,可以是你希望的小数位数。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行