为什么INT(1)=1;但是INT((11%-10%)/1%)的返回值是0?

 我来答
blqian_sky
2019-01-03 · TA获得超过108个赞
知道小有建树答主
回答量:218
采纳率:81%
帮助的人:29.8万
展开全部
11%-10%得到的数据类型是double,不是0.01,而是0.0099999999999995,这个时候
(11%-10%)/1%这个表达式的计算结果并不是1.0了,而是0.9999999999999994。
然后0.9999999999999994强制转成int类型的时候是默认向下取整的,结果就是0。
解决这个问题方法是,使用 bigDecimal进行加减乘除的计算。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式