计算结果的有效数字

来源:3-2 Java中的算术运算符

阿梦1123

2016-04-26 21:16

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

写回答 关注

2回答

  • 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

    阿梦1123

    非常感谢!

    2016-04-26 21:37:03

    共 1 条回复 >

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

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

Java入门第一季(IDEA工具)升级版

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

1165565 学习 · 17587 问题

查看课程

相似问题