java 常用类库:BigInteger大整数;BigDecimal大小数(解决double精度损失);
大整数BigInteger
package com.zmd.common_class_libraries; import java.math.BigInteger; /**
* @ClassName BigNumberExample
* @projectName: object1
* @author: Zhangmingda
* @description: XXX
* date: 2021/4/7.
*/
public class BigNumberExample {
public static void main(String[] args) {
BigInteger a = new BigInteger("999999999999999999999999999999999999999999");
BigInteger b = new BigInteger("888888888888888888888888888888888888888888");
//加法
System.out.println(a.add(b));
//减法
System.out.println(a.subtract(b));
//乘法
System.out.println(a.multiply(b));
//除法
System.out.println(a.divide(b));
}
}

长小数BigDecimal
package com.zmd.common_class_libraries; import java.math.BigDecimal;
import java.math.BigInteger; BigDecimal a = new BigDecimal("999999999999999999999999999999999999999999.999999999999999999999999999999999999999999");
BigDecimal b = new BigDecimal("888888888888888888888888888888888888888888.888888888888888888888888888888888888888888");
//加法
System.out.println(a.add(b));
//减法
System.out.println(a.subtract(b));
//乘法
System.out.println(a.multiply(b));
//除法
System.out.println(a.divide(b));
}
}

double 精度损失
package com.zmd.common_class_libraries;
import java.math.BigDecimal;
import java.math.BigInteger;
/**
* @ClassName BigNumberExample
* @projectName: object1
* @author: Zhangmingda
* @description: XXX
* date: 2021/4/7.
*/
public class BigNumberExample {
public static void main(String[] args) {
//double精度损失
double da = 0.05;
double db = 0.01;
System.out.println(da + db);
//等于0.060000000000000005
//BigDecimal可以解决此问题
BigDecimal ba = new BigDecimal("0.05");
BigDecimal bb = new BigDecimal("0.01");
System.out.println(ba.add(bb));
//0.06
}
}
java 常用类库:BigInteger大整数;BigDecimal大小数(解决double精度损失);的更多相关文章
- Java中关于 BigDecimal 的一个导致double精度损失的"bug"
背景 在博客 恶心的0.5四舍五入问题 一文中看到一个关于 0.5 不能正确的四舍五入的问题.主要说的是 double 转换到 BigDecimal 后,进行四舍五入得不到正确的结果: public ...
- JAVA(三)JAVA常用类库/JAVA IO
成鹏致远 | lcw.cnblog.com |2014-02-01 JAVA常用类库 1.StringBuffer StringBuffer是使用缓冲区的,本身也是操作字符串的,但是与String类不 ...
- Java 常用类库与技巧【笔记】
Java 常用类库与技巧[笔记] Java异常体系 Java异常相关知识 Java在其创立的时候就设置了比较有效的处理机制,其异常处理机制主要回答了三个问题:what,where,why what表示 ...
- Google的Java常用类库 Guava资料
java的人应该都知道Apache commons的java常用类库吧,这个Guava和commons一样,封装出一套比jdk本身提供的常用类库强大.既然有了这个这么强大的类库,我们就没必要重复造轮子 ...
- Java常用类库 读书笔记 一
1.String Buffer 类 String 类所表示的字符串有一个局限就是字符串常量一旦声明则不可改变,只有内存地址的指向可以改变,如果要频繁修改字符串,需要使用String Buffer 类. ...
- Java常用类库2
1.java.util.Date类 package LESSON9; import java.util.Date; public class demo1 { public static void ma ...
- 谈谈Java常用类库中的设计模式 - Part Ⅰ
背景 最近一口气看完了Joshua Bloch大神的Effective Java(下文简称EJ).书中以tips的形式罗列了Java开发中的最佳实践,每个tip都将其意图和要点压缩在了标题里,这种做法 ...
- JAVA常用类库简介(转)
Java编程语言中为方便学习者学习,编制了许多类,这些类已经经过测试,都是我们编程的基础.如果不利用这些已存在的类,我们的编程工作将变得异常复杂并且效率低下.所以我们应尽可能多的掌握Java基本类库的 ...
- Java常用类库API之MD5简单使用
常用类库--MD5简单使用 MD5消息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash v ...
随机推荐
- 通过get方法的方式获取配置项信息
这种写法比其他的方法好的一点是,当你需要修改参数名或者参数值的时候,只需要改一个地方就可以了,其他地方根本不用动,面向接口编程. eureka-server.properties archaius.d ...
- Flink 是如何统一批流引擎的
关注公众号:大数据技术派,回复"资料",领取1000G资料. 本文首发于我的个人博客:Flink 是如何统一批流引擎的 2015 年,Flink 的作者就写了 Apache Fli ...
- 洛谷 P7360 -「JZOI-1」红包(Min-Max 容斥+推式子)
洛谷题面传送门 hot tea. 首先注意到这个 \(\text{lcm}\) 特别棘手,并且这里的 \(k\) 大得离谱,我们也没办法直接枚举每个质因子的贡献来计算答案.不过考虑到如果我们把这里的 ...
- MySQL 数据库的下载、安装和测试
实例:Ubuntu 20.04 安装 mysql-server_5.7.31-1ubuntu18.04_amd64.deb-bundle.tar 1. 下载安装MySQL(安装 MySQL 5.7) ...
- 67-Gray Code
Gray Code My Submissions QuestionEditorial Solution Total Accepted: 60277 Total Submissions: 165212 ...
- Python—python2.7.5升级到2.7.14或者直接升级到3.6.4
python2.7.5升级到2.7.14 1.安装升级GCC yum install -y gcc* openssl openssl-devel ncurses-devel.x86_64 bzip2 ...
- Linux搭建yum仓库
1.安装nginx 2.为nginx搭建共享目录 3.安装createrepo,创建存储库 4.客户端测试 1.安装nginx yum list |grep nginx #查看是否有可用的nginx包 ...
- 『与善仁』Appium基础 — 19、元素定位工具(三)
目录 1.Chrome Inspect介绍 2.Chrome Inspect打开方式 3.Chrome Inspect工具的使用 (1)Chrome Inspect工作前提 (2)Chrome Ins ...
- linux系统中安装JDK
安装之前的准备工作 查看系统中之前安装好的JDK java –version rpm -qa | grep java 卸载JDK (以java-1.7.0-openjdk-1.7.0.45-2.4.3 ...
- Yarn的Tool接口案例
目录 Yarn的Tool接口案例 Tool接口环境准备 1 新建Maven项目YarnDemo 编写代码 打包jar上传到集群 Yarn的Tool接口案例 Tool接口环境准备 之前写wordcoun ...