黑马程序员技术交流社区

标题: 求余运算小问题。 [打印本页]

作者: 胡建彪    时间: 2012-10-23 11:13
标题: 求余运算小问题。

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,即运算结果的符号与左操作数相同

复习之余的一些总结与大家分享。


作者: 刘学宾    时间: 2012-10-23 11:41
值得看一看




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2