您当前的位置: 首页 > 学无止境 > 心得笔记 网站首页心得笔记
【第11章:Java常用类库】_大数操作(BigIntger、BigDecimal)
发布时间:2020-12-25 13:55:37编辑:雪饮阅读()
BigInteger
BigInteger提供大数字的一系列操作,操作数以BigInteger的实例生成,接收String类型构造参数。
import java.math.BigInteger;
public class Hello{
public static void main(String args[]){
BigInteger bi1 = new BigInteger("123456789") ;
BigInteger bi2 = new BigInteger("987654321") ;
System.out.println("加法操作:" + bi2.add(bi1)) ;
System.out.println("减法操作:" + bi2.subtract(bi1)) ;
System.out.println("乘法操作:" + bi2.multiply(bi1)) ;
System.out.println("除法操作:" + bi2.divide(bi1)) ;
System.out.println("最大数:" + bi2.max(bi1)) ;
System.out.println("最小数:" + bi2.min(bi1)) ;
BigInteger result[] = bi2.divideAndRemainder(bi1) ;
System.out.println("商是:" + result[0] + ";余数是:" + result[1]) ;
}
};
D:\>javac Hello.java
D:\>java Hello
加法操作:1111111110
减法操作:864197532
乘法操作:121932631112635269
除法操作:8
最大数:987654321
最小数:123456789
商是:8;余数是:9
BigDecimal
BigDecimal提供用于大型小数的计算的一系列方法
import java.math.* ;
public class Hello{
public static void main(String args[]){
System.out.println("加法运算:" + new BigDecimal(10.345).add(new BigDecimal(3.333)).doubleValue()) ;
System.out.println("减法运算:" + new BigDecimal(10.345).subtract(new BigDecimal(3.333)).doubleValue()) ;
System.out.println("乘法运算:" + new BigDecimal(10.345).multiply(new BigDecimal(3.333)).doubleValue()) ;
//做除法运算时第二个参数声明要保留的小数位数,第三个参数定义四舍五入的方式
System.out.println("除法运算:" + new BigDecimal(10.345).divide(new BigDecimal(3.333),2,BigDecimal.ROUND_HALF_UP).doubleValue());
System.out.println("四舍五入:" + new BigDecimal(10.345).divide(new BigDecimal(1),2,BigDecimal.ROUND_HALF_UP).doubleValue()) ;
}
};
注意:
ROUND_HALF_UP
向“最接近的”数字舍入,如果与两个相邻数字的距离相等,则为向上舍入的舍入模式。
如果舍弃部分 >= 0.5,则舍入行为与 ROUND_UP 相同;否则舍入行为与 ROUND_DOWN 相同。
这是我们大多数人在小学时就学过的舍入模式(四舍五入)。
关键字词:java,BigIntger,BigDecimal