数字处理工具类

数字处理工具类

  • BigInteger:可以让超过Integer范围内的数据进行运算

    构造方法:public BigInteger(String val)

    常用方法:

    public BigInteger add(BigInteger val)

    public BigInteger subtract(BigInteger val)

    public BigInteger multiply(BigInteger val)

    public BigInteger divide(BigInteger val)

    public BigInteger remainder(BigInteger val)

    public BigInteger[] divideAndRemainder(BigInteger val)

package com.lili.MathUntil;

import java.math.BigInteger;
import java.util.Arrays;

/**
 * 数字处理工具类:
 * @author: QiJingJing
 * @create: 2021/7/7
 */
public class Test1 {
    public static void main(String[] args){
        String s1 = "934374337463746372323";
        String s2 = "343434343434345454454";
        BigInteger i1 = new BigInteger(s1);
        BigInteger i2 = new BigInteger(s2);
        System.out.println(i1.add(i2));// + 1277808680898091826777
        System.out.println(i1.subtract(i2));// - 590939994029400917869
        System.out.println(i1.multiply(i2));// * 320896237108763267933228964625027322676642
        System.out.println(i1.divide(i2)); // /    2
        System.out.println(i1.remainder(i2));// %  247505650595055463415
        System.out.println(Arrays.toString(i1.divideAndRemainder(i2)));// /and%[2, 247505650595055463415]
    }
}

  • BigDecimal: 由于在运算的时候,float和double很容易精度丢失,java提供了BigDecimal

    构造方法:public BigDecimal (String val)

    常用方法:

    public BigDecimal add(BigDecimal val)

    public BigDecimal subtract(BigDecimal val)

    public BigDecimal multiply(BigDecimal val)

    public BigDecimal divide(BigDecimal val)

package com.lili.MathUntil;

import java.math.BigDecimal;
import java.math.BigInteger;

/**
 * 数字处理工具类
 * BigDecimal
 * BigDecimal: 由于在运算的时候,float和double很容易精度丢失,java提供了BigDecimal
 * 构造方法:public BigDecimal (String val)
 * 常用方法:
 * public BigDecimal add(BigDecimal val)
 * public BigDecimal subtract(BigDecimal val)
 * public BigDecimal multiply(BigDecimal val)
 * public BigDecimal divide(BigDecimal val)
 *
 * @author: QiJingJing
 * @create: 2021/7/7
 */
public class Test2 {
    public static void main(String[] args) {
        String s1 = "93437433746.3746372324";
        String s2 = "4";
        BigDecimal i1 = new BigDecimal(s1);
        BigDecimal i2 = new BigDecimal(s2);
        System.out.println(i1.add(i2));// + 93437433750.3746372324
        System.out.println(i1.subtract(i2));// - 93437433742.3746372324
        System.out.println(i1.multiply(i2));// * 373749734985.4985489296
        System.out.println(i1.divide(i2)); // / 23359358436.5936593081
    }
}

  • DecimalFomat: java提供的类,帮你用最快的速度将数字格式格式化你想要的样子

    示例:

    package com.lili.MathUntil;
    
    import java.text.DecimalFormat;
    
    /**
     * DecimalFormat: java提供的类,帮你用最快的速度将数字格式格式化你想要的样子
     *
     * @author: QiJingJing
     * @create: 2021/7/7
     */
    public class Test3 {
        public static void main(String[] args) {
            double b = 23.26778536;
            // 取两位整数
            System.out.println(new DecimalFormat("00").format(b));//23
            // 取两位整数和两位小数
            System.out.println(new DecimalFormat("00.00").format(b));//23.27
            // 取三位整数数和三位小数,整数不足部分以0替补
            System.out.println(new DecimalFormat("000.000").format(b));//023.268
            // 取所有整数部分
            System.out.println(new DecimalFormat("#").format(b));//23
            // 以百分比形式计算,并取两位小数
            System.out.println(new DecimalFormat("#.##%").format(b));//2326.78%
        }
    }
    
    
上一篇:常用API总结(更新中)


下一篇:二十八、常用API二