为了账号安全,请及时绑定邮箱和手机立即绑定

double avg=sum/4 与 double avg=sum/4.0 的结果为什么不一样

double avg=sum/4      结果是26.0

double avg=sum/4.0   结果是26.25

请问这两个的输出结果为什么会不一样呢

正在回答

3 回答

4.0是double类型,int和double在一起运算时会自动将int的类型提升到double  那么计算的结果也就成了double

所以结果就是26.25

如果是/4 那么两个int计算的结果就是int 结果就是26 然后强转为double 结果就是26.0


1 回复 有任何疑惑可以回复我~
#1

NanaXi 提问者

如果用 4f 的话结果也是26.25 这里又是为什么呢 不懂
2017-11-01 回复 有任何疑惑可以回复我~

使用bigdecimal这个类,里面封装了加减乘除很多方法

1 回复 有任何疑惑可以回复我~
#1

moonsky_lee

因为我之前也遇到这种小数的问题,包括保留几位,用double会出问题的,使用bigdecimal妥妥的,哥就帮你到这了
2017-11-01 回复 有任何疑惑可以回复我~
#2

NanaXi 提问者 回复 moonsky_lee

好的,谢谢~ Java小白,只是暂时还不懂怎么用bigdecimal ( ̄﹏ ̄;)
2017-11-02 回复 有任何疑惑可以回复我~

因为一个是整形的数 一个是浮点型的数 在计算机里面是不一样的

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

double avg=sum/4 与 double avg=sum/4.0 的结果为什么不一样

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信