浮点计算中 看起来相等,相减却是5.6843418860808E-14

将数据库中浮点数据读出来加起来和数据库中的总和相比,看看上次有没有结算正确,代码如下

double money = ((Convert.ToDouble(ds.Tables[0].Rows[0]["Money"]) + Convert.ToDouble(ds.Tables[0].Rows[1]["Money"])) / 10 + Convert.ToDouble(ds.Tables[0].Rows[2]["Money"]));

Response.Write(money - Convert.ToDouble(dss.Tables[0].Rows[i]["User_Dzb_Sb"])+"****"+money + "," + Convert.ToDouble(dss.Tables[0].Rows[i]["User_Dzb_Sb"]) + "------不同-------<br />");
发现计算出来的money 值和原先在数据库中存在的User_Dzb_Sb始终不会相等,后来让他们相减,发现两者相差5.6843418860808E-14。肉眼可视他们相等啊,真是郁闷,后来改成以下代码就可以了。

double money = double.Parse(((Convert.ToDouble(ds.Tables[0].Rows[0]["Money"]) + Convert.ToDouble(ds.Tables[0].Rows[1]["Money"])) / 10 + Convert.ToDouble(ds.Tables[0].Rows[2]["Money"])).ToString());

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值