问答详情
源自:3-2 Java中的算术运算符

计算结果的有效数字

double avg=(double)(sum/4);与double avg=sum/4.0的结果不一样;前者是26.0 后者是26.25,为什么?

提问者:阿梦1123 2016-04-26 21:16

个回答

  • qq_自余自乐_0
    2016-04-26 21:30:29
    已采纳

    (double)(sum/4)先进行除法运算再进行强制转换,sum和4都是int型,则结果也为int型,所以26.25采用去尾法为26,强制转换后为double型26.0;

    后者4.0是double型的,在sum/4.0的过程中,sum先要转换成double型105.0与4.0保持一致,结果也为double型26.25

  • 我叫嘴巴3224587
    2016-04-26 21:29:03

    前者相当于把sum/4的结果(是个整数)转化成浮点数,所以值跟整数是一样,然后再赋给avg