Java从入门到精通阅读笔记(第4版)6

来源:互联网 发布:asp.net vb.net控件 编辑:程序博客网 时间:2024/05/17 08:53

大数字运算

Java中提供了大数字的操作类,即java.math.BigInteger和java.math.BigDecimal类

BigInteger

public BigInteger(String val)

BigInteger twoInstance=new BigInteger("2");

将十进制的2转化为BigInteger形式
还有方法:
 1.add(); 大整数相加   BigInteger a=new BigInteger(“23”);   BigInteger b=new BigInteger(“34”);   a.add(b); 2.subtract(); 相减 3.multiply(); 相乘 4.divide();    相除取整 5.remainder();取余 6.pow();   a.pow(b)=a^b 7.gcd();   最大公约数 8.abs(); 绝对值 9.negate();取反数 10.mod(); a.mod(b)=a%b=a.remainder(b); 11.max(); min(); 12.punlic int comareTo(); 13.boolean equals(); 是否相等

BigDecimal

BigDecimal加入了小数点的概念。支持任何精度位数的定点数
常用方法为
BigDecimal(double) 创建一个具有参数所指定双精度值的对象。 BigDecimal(String) 创建一个具有参数所指定以字符串表示的数值的对象。

常用方法
BigDecimal add(BigDecimal augend)//加法
BigDecimal subtract(BigDecimal subtrahend)//减法
BigDecimal  multiply(BigDecimal  multiplicand)//乘法
BigDecimal   divide(BigDecimal   divisor,int scale,int roundingMode)//除法,3个参数分别代表除数、商的小数点后的位数、近似处理模式


divide的多种处理模式
BigDecimal.ROUND_UP      //商的最后一位如果大于0,则向前进位,正负数都是如此BigDecimal.ROUND_DOWN    //商的最后一位无论是什么数字都省略BigDecimal.ROUNG_CELING        //商如果是正数,按照ROUND_UP 模式处理;如果是负数按照ROUND_DOWN 模式处理,这样模式的处理都会使近似值大于实际值BigDecimal.ROUND_FLOOR          //与ROUNG_CELING模式相反。商如果是正数,按照ROUND_DOWN 模式处理;如果是负数,按照ROUND_UP模式处理,这样模式的处理都会使近似值小于实际值BigDecimal.ROUND_HALF_DOWN      //对商进行四舍五入操作;最后一位小于等于5,则做舍弃操作,最后一位大于5,则做进位操作  如 7.5≈7BigDecimal.ROUND_HALF_UP        //对商进行四舍五入操作;最后一位小于5,则做舍弃操作,最后一位大于等于5,则做进位操作    如 7.5≈8BigDecimal.ROUND_HALF_EVEN      //如果商的倒数第二位为奇数,则按照ROUND_HALF_UP 处理;如果为偶数,则按照ROUND_HALF_DOWN 处理     如7.5≈8,8.5≈8








0 0
原创粉丝点击