大家都知道,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
版权声明:本文为wangweigang689原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。