大家都知道,double类型可以强制转换为int类型并输出,但是强制转换的结果就是把double小数点后的值直接砍掉,例如:
double d1 = 3.1415;
double d2 = 3.9323;
int i1 = (int)d1;
int i2 = (int)d2;
System.out.println("i1="+i1);
System.out.println("i2="+i2);
输出结果:
i1=3
i2=3
尽管i2的值为3.9323,Java进行强制转换时还是会将i2赋值为3,所以,进行double->int类型的强制转化时,Java是不会考虑你小数点后的值,而如果你想要实现四舍五入的转换效果时,可以使用Math.round()函数实现:
double d1 = 3.1415;
double d2 = 3.9323;
int i1 = (int)Math.round(d1);
int i2 = (int)Math.round(d2);
System.out.println("i1="+i1);
System.out.println("i2="+i2);
输出结果:
i1=3
i2=4
本文详细介绍了Java中double类型强制转换为int类型时的处理方式及原理,并通过实例演示了如何使用Math.round()函数实现四舍五入的转换效果。
7万+

被折叠的 条评论
为什么被折叠?



