数字处理工具类

数字处理工具类:
BigInteger:
类可以让超过Integer范围内的数据进行运算。
构造方法:public BigInteger(String var)
常用方法:
public BigInter add(BigInteger var)      //加法
public BigInter subtract(BigInteger var) //减法
public BigInter multiply(BigInteger var) //乘法
public BigInter divide(BigInteger var)   //除法(整除)
public BigInter add(BigInteger var)      //取模(%余数)
public BigInteger[] divideAndRemainder(BigInteger val)  //返回数组,同时计算除法和取模

BigDecimal:
可以精确的表示和计算浮点数而不丢失精度
构造方法:public BigDecimal(String var)
常用方法:
public BigDecimal add(BigDecimal var)        //加法
public BigDecimal subtract(BigDecimal var)   //减法
public BigDecimal multiply(BigDecimal var)   //乘法
public BigDecimal divide(BigDecimal var)     //除法(整除)
public BigDecimal add(BigDecimal var)        //取模(%余数)

import java.math.BigDecimal;
import java.math.BigInteger;
import java.text.DecimalFormat;
import java.util.Arrays;

public class Test {
    public static void main(String[] args) {
        //BigInteger类
        String var1 = "425356347458687";
        String var2 = "234356346745768";
        BigInteger b1 = new BigInteger(var1);
        BigInteger b2 = new BigInteger(var2);
        System.out.println(b1.add(b2));
        System.out.println(b1.subtract(b2));
        System.out.println(b1.multiply(b2));
        System.out.println(b1.divide(b2));
        //divideAndRemainder(),返回数组,同时计算除法和取模
        System.out.println(Arrays.toString(b1.divideAndRemainder(b2)));
        
        //BigDecimal类
        String var3 = "788.23423432563626";
        String var4 = "44.432342532634564";
        BigDecimal b3 = new BigDecimal(var3);
        BigDecimal b4 = new BigDecimal(var4);
        System.out.println(b3.add(b4));
        System.out.println(b3.subtract(b4));
        System.out.println(b3.multiply(b4));
        
        //当除不尽时会报异常:ArithmeticException;可以才采用方法scale()返回标度
        System.out.println(b3.divide(b4));
        //System.out.println(b3.scale()-b4.scale());
        
        
        //DecimalFormat类,对大数据格式化
        double pi = 3.1415926; //圆周率
        //取一位整数,结果:3
        System.out.println(new DecimalFormat("0").format(pi));
        
        //取一位整数和两位小数,结果:3.14
        System.out.println(new DecimalFormat("0.00").format(pi));
        
        //取两位整数和三位小数,整数不足部分用0补齐,结果:03.145
        System.out.println(new DecimalFormat("00.000").format(pi));
        
        //取所有整数部分,结果:3
        System.out.println(new DecimalFormat("#").format(pi));
        
        //以百分比方式计数,并取两位小数,结果:314.16%
        System.out.println(new DecimalFormat("#.##%").format(pi));
        
        long num = 623461314;
        //以逗号每隔三位分隔,结果:623,461,314
        System.out.println(new DecimalFormat("###,###").format(num));
        
    }

}


你可能感兴趣的:(数字处理工具类)