public class Test3 { public static void main(String[] args) { int s = 456789; int v = 40; double t = s / 10 / v; System.out.println('所用时间是:' + t); } }

为什么小数还是精确不了?

因为在计算过程中,除数和被除数都是整型 (int),所以结果也会是整型,然后再将整型转换成 double 类型。由于整型除法是向下取整,所以结果也会是向下取整的整数。

如果想要得到精确的小数,需要将除数或被除数中至少一个转换成浮点型 (double)。例如:

double t = (double) s / (10 * v);

Java 整数除法精度丢失问题及解决方法

原文地址: https://www.cveoy.top/t/topic/oZNN 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录