SQL字段 相加 不正确呢~~~都是double类型的。。。只有5点财富值了。

ROUND(((issueLoan/`month`)-issueLoan*(rate/12))*(tenderMoney/issueLoan)+
(issueLoan*(rate/12))*(tenderMoney/issueLoan),20)
= 4.16666666666666650000
,ROUND(((issueLoan/`month`)-(issueLoan*(rate/12))*(tenderMoney/issueLoan))*(tenderMoney/issueLoan),20),
=4.16597222249999983339
(issueLoan*(rate/12))*(tenderMoney/issueLoan)
=0.04166664999999999833

第二个+第三个 = 第一个 但是为什么结果不正确呢 ,求大神~~~~

你的式子不一样,
所以我认为是
上面是先运算的((issueLoan/`month`)-issueLoan*(rate/12)) 然后才是后面的乘法
下面的则是先运算的(issueLoan*(rate/12))*(tenderMoney/issueLoan))然后才是前面的减法,所以得到的结果不一样

而且,你把上下式子拆开的得到的式子并不一致,我不清楚你的业务逻辑,不过下面的比上面的多了一个tenderMoney/issueLoan
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-08-13
DOUBLE型除以整形得出的是整型,会导致精度丢失。你试试rate/12 改成rate/12.00 试试

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网