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

double avg=sum/4跟double avg=sum/4.0的结果为什么不一样。为什么一个是26.0一个是26.25

double avg=sum/4跟double avg=sum/4.0的结果为什么不一样。为什么一个是26.0一个是26.25

qq_82年的彬锅锅_03446807 2016-06-02 18:28:18
查看完整描述

3 回答

已采纳
?
绿洲仙人球

TA贡献39条经验 获得超47个赞

       题主的理解是错误的,我觉得这两个表达式得出的结果不一样的关键是sum的类型,我认为题主sum的类型应该是int,那么这两个结果就能够解释通了。

  1. 两个int相除,得到的还是int,但是用double类型的avg接收的,所以结果转为double类型,为4.0;

  2. 除以4.0的话,是double类型的计算啦,所以结果为26.25

  3. int比double的精度低,虚拟机会自动转换


查看完整回答
反对 回复 2016-06-03
?
蓝蓝的天0

TA贡献3条经验 获得超1个赞

同意楼上

查看完整回答
反对 回复 2016-06-03
?
qq_82年的彬锅锅_03446807

TA贡献4条经验 获得超0个赞

double类型在除以4时,会自动省去后面的小数。再除以4.0时,小数位则会写出来。这样对么

查看完整回答
反对 回复 2016-06-02
  • 3 回答
  • 2 关注
  • 1683 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信