问题阐述
在数学中进行除法运算时,9/2 与 9/2.0 的结果是相等的。那么在计算机中表达式 9/2与 9/2.0
的结果是否相等呢?
专家解答
整数与整数之间运算的结果必然是整数,就算是除法也会执行整除而舍弃小数。所以9/2 的结果是
4,但是整数与浮点数的运算会转换为浮点数类型再进行运算,其结果应是浮点数类型,所以 9/2.0 的结果是 4.5,所以 9/2 的结果与
9/2.0的结果是不相等的。
下面通过程序来说明:
运行程序,结果如图 3.9 所示,从输出结果可以看出,9/2 的结果与 9/2.0 的结果是不相等的。
专家点评
由于整数除法与浮点数除法的输出结果存在很大的差别,所以在进行程序设计时,要考虑如何才能得到正确的结果,尤其在进行一些对数据精度要求很高的计算时,更应该慎之又慎,如果有必要可以考虑使用
BigDecimal 类提供的方法实现高精度的算术运算。