数字处理工具类

简介: 数字处理工具类

数字处理工具类

  • 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%
    }
}


目录
相关文章
|
8月前
|
算法 测试技术 C++
【矩阵快速幂】封装类及测试用例及样例
【矩阵快速幂】封装类及测试用例及样例
|
7月前
|
Java
Java面向对象特征(一)----- 封装
Java面向对象特征(一)----- 封装
|
8月前
|
算法 Java
Java实现质因数分解
Java实现质因数分解
110 0
|
Java
用Java实现简单的四则运算的运算器
用Java实现简单的四则运算的运算器
169 0
|
缓存 安全 Java
12000+字Java反射,一起全面了解Java反射机制,为学习框架铺路
12000+字Java反射,一起全面了解Java反射机制,为学习框架铺路
124 0
12000+字Java反射,一起全面了解Java反射机制,为学习框架铺路
|
Python
python回测与交易框架之坑爹的类与类之间变量的传输
python回测与交易框架之坑爹的类与类之间变量的传输
142 0
编程实现三天打鱼两天晒网
三天打鱼两天晒网
480 0
编程实现三天打鱼两天晒网
|
JSON Java Apache
那些年我们在Java泛型上躺过的枪---万恶的泛型擦除【享学Java】(下)
那些年我们在Java泛型上躺过的枪---万恶的泛型擦除【享学Java】(下)
那些年我们在Java泛型上躺过的枪---万恶的泛型擦除【享学Java】(下)
|
C# C++
C#(五十)之泛型
泛型( Generic ) 允许您延迟编写类或方法中的编程元素的数据类型的规范,直到实际在程序中使用它的时候。换句话说,泛型允许您编写一个可以与任何数据类型一起工作的类或方法。可以理解为就是C++中的模板。
126 0
C#(五十)之泛型
|
Java BI API
Java编程工具类之数学相关
Math 1.所属的包java.lang 2.Math构造方法是私有的 我们不能直接调用创建对象 3.由于Math中提供的属性及方法都是static 不需要创建对象 4.常用的方法 abs()返回给定数字的绝对值 (参数 int long float double) double = ceil()向上取整 double = floor()向下取整 double = rint()临近的整数 如果两边距离一样 则返回偶数 int = round() 四舍五入的整数 max(a,b) min(a,b) (参数int long flo
156 0