数字处理工具类

简介: 数字处理工具类

数字处理工具类

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


目录
相关文章
|
3月前
|
Java 编译器
【Java基础面试三十】、 两个字符串相加的底层是如何实现的?
这篇文章解释了Java中两个字符串相加的底层实现:对于字符串直接量的拼接,编译器在编译时会进行优化合并;而对于包含变量的字符串拼接,编译器会采用`StringBuilder`进行优化,自动创建实例并调用`append()`方法来拼接字符串。
编程作业(2) - 编程题 10. DNA序列(Java)
编程作业(2) - 编程题 10. DNA序列(Java)
|
6月前
|
Python Java 算法
Java每日一练(20230415) 扰乱字符串、单词拆分、模拟计算器
Java每日一练(20230415) 扰乱字符串、单词拆分、模拟计算器
61 0
Java每日一练(20230415) 扰乱字符串、单词拆分、模拟计算器
|
6月前
|
Go Java C++
Java每日一练(20230411) 同构字符串、随机字符串、交错字符串
Java每日一练(20230411) 同构字符串、随机字符串、交错字符串
40 0
Java每日一练(20230411) 同构字符串、随机字符串、交错字符串
|
6月前
|
自然语言处理 算法 Java
Java常见算法-算法的表示形式
算法的表示形式多样,主要包括自然语言、流程图、N-S图(纳索斯图)、伪代码、程序设计语言。
|
6月前
|
Java 索引
Java基础中的基础—- Java语法必背规律
Java基础中的基础—- Java语法必背规律
23 0
编程作业(3) 编程题 2. 跳跃最大长度(java)
编程作业(3) 编程题 2. 跳跃最大长度(java)
|
Java 程序员 Python
【Java实用技术】字符串的拆分怎么最快?
本文是《【Java实用技术】字符串的拆分用什么方法好?》的姊妹篇,拆分方法最常用,使用看似简单但也有很多复杂的细节要注意,今天我们就来聊一聊字符串拆分怎么最快?
【Java实用技术】字符串的拆分怎么最快?
|
Java
java集合类史上最细讲解 - Collections工具类
1.Collections工具类 Collections是java中一个很强大的工具类,可以很方便的操作java list,map,set
131 0
|
小程序 Java
Java——使用集合实现简单的斗地主发牌功能(两种方式简单粗暴!!!)
Java——使用集合实现简单的斗地主发牌功能(两种方式简单粗暴!!!)
Java——使用集合实现简单的斗地主发牌功能(两种方式简单粗暴!!!)