数字处理工具类
数字处理工具类
-
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% } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!