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

为什么用double算出来的数字和float算出来的不一样

为什么用double算出来的是26.0,float算出来的是26.25,而26.25才是正确答案啊?

提问者:辉夜羽衣 2014-12-20 20:30

个回答

  • 仗剑闯江湖
    2014-12-20 23:59:26

    sun是int型,4也是int型,所以sum/4的结果就是int型的,在把这个int型赋值给double型的时候类型转换的结果就是补上了小数点和零。

  • hiColors
    2014-12-20 21:34:58

    二元操作符可能会损失数据精度  所以你在svg那个后面使用一下强制转型  double svg = (double)sum/4;