A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 胡建彪 黑马帝   /  2012-10-23 11:13  /  1369 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


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

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

评分

参与人数 1技术分 +1 收起 理由
谭立文 + 1

查看全部评分

1 个回复

倒序浏览
值得看一看
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马