import java.math.BigDecimal;
public class Aprint {
public static void main(String[] args) {
// System.out.println(7.6 % 2.9,"8.1L");
System.out.println(5%2);
BigDecimal a = new BigDecimal(7.6 % 2.9);
// BigDecimal a = new BigDecimal(1.7222222);
System.out.println(a.setScale(1,BigDecimal.ROUND_HALF_UP));//保留小数点后一位小数的格式,并且这个小数位后面的值采用四舍五入。
}
}
通过以上两个输出,可以看出其实 a % b = a - (a / b) * b; 当两个操作数都是int类型数时,a%b的计算公式为: a % b = a - (int)(a / b) * b
但是有时候取余数和和整除还有所不同。
例如:
7 / 3 //整除,运算结果为2
7.0 / 3 //除法,运算结果为2.33333,即结果与精度较高的类型一致
7.0/-3 // 除法,运算结果为 -2.33333,即结果与精度较高的类型一致
7 % 3 //取余,运算结果为1
7.0 % 3 //取余,运算结果为1.0
-7 % 3 //取余,运算结果为-1,即运算结果的符号与左操作数相同
7 % -3 //取余,运算结果为1,即运算结果的符号与左操作数相同
复习之余的一些总结与大家分享。
|