JAVA操作符(结尾和舍入)
比如我们在操作结尾与舍入问题。例如,如果将一个浮点值转换为整数型,Java会怎么处理。
public static void main(String[] args) {
double above = 0.7, below = 0.4;
float fabove = 0.7f, fbelow = 0.4f;
print("(int)above: " + (int)above);
print("(int)below: " + (int)below);
print("(int)fabove: " + (int)fabove);
print("(int)fbelow: " + (int)fbelow);
}
(int)above: 0
(int)below: 0
(int)fabove: 0
(int)fbelow: 0
可以看出我们强制转换是直接略去小数点后面的位数的
因此如果我们要将float或double装换成整形时,总是对该数字执行截尾。如果我们想要舍入那么就要使用java.lang.Math中的round()方法。
public static void main(String[] args) {
double num1 = 0.6, num2 = 0.2;
float num3 = 0.8f, num4 = 0.6f;
print("Math.round(num1): " + Math.round(num1));
print("Math.round(num2): " + Math.round(num2));
print("Math.round(num3): " + Math.round(num3));
print("Math.round(num4): " + Math.round(num4));
}
Math.round(num1): 1
Math.round(num2): 0
Math.round(num3): 1
Math.round(num4): 1
由此可以看出我们要是想舍入就得使用java为我们提供的方法、