当前位置: 首页 > news >正文

BigDecimal的常用API

BigDecimal用于解决浮点型运算时结果出现失真的问题。

这里0.2+0.1等于0.3就出现了失真

import java.math.BigDecimal;
import java.math.RoundingMode;public class Test {public static void main(String[] args) {//BigDeciaml的使用:解决小数运算失真的问题double a = 0.2;double b = 0.1;
//        double c = a+ b;
//        System.out.println(c);//提供的构造器可以把String转成BigDecimalBigDecimal aa = new BigDecimal(Double.toString(a));BigDecimal bb = new BigDecimal(Double.toString(b));//推荐用第二种简化写法:相当于上一种写法,此法也是返回一个上面的这么一个东西,人家已经封装好了BigDecimal a1 = BigDecimal.valueOf(a);BigDecimal b1 = BigDecimal.valueOf(b);BigDecimal c1 = a1.add(b1); //加法BigDecimal d1 = a1.subtract(b1);//减法BigDecimal e1 = a1.multiply(b1);//乘法BigDecimal f1 = a1.divide(b1);//除法 除法运算时可能出问题,报错:无法精确表达结果 ,这个时候就要给一个精度位BigDecimal f2 = a1.divide(b1,2, RoundingMode.HALF_UP); //精确几位,舍入模式System.out.println(c1); //BigDecimal也重写了toString,不会把地址给你而是输出值}
}

http://www.lryc.cn/news/300009.html

相关文章:

  • Android---Jetpack Compose学习005
  • 安卓价值1-如何在电脑上运行ADB
  • 第三百四十七回
  • 23种设计模式之原型模式
  • 揭秘Angular世界的奥秘:全面提升你的前端开发技能!
  • 【开源】SpringBoot框架开发企业项目合同信息系统
  • 高斯伪谱C++封装库开源!
  • Spring + Tomcat项目中nacos配置中文乱码问题解决
  • Unity SRP 管线【第十讲:SRP/URP 图形API】
  • 使用playwright进行自动化端到端测试
  • ES实战-相关性搜索
  • MQTT的学习与应用
  • 编译原理实验1——词法分析(python实现)
  • C语言——oj刷题——模拟实现库函数strlen
  • 对进程与线程的理解
  • 「数据结构」线性表
  • GEE:关于在GEE平台上进行回归计算的若干问题
  • Vivado -RAM
  • 备战蓝桥杯---图论之最短路dijkstra算法
  • C#系列-C#实现秒杀功能(14)
  • Java ‘Elasticsearch‘ 操作
  • 【AI视野·今日NLP 自然语言处理论文速览 第七十八期】Wed, 17 Jan 2024
  • 实验5-4 使用函数计算两点间的距离
  • 【JavaEE】_JavaScript(Web API)
  • ARM交叉编译搭建SSH
  • ###51单片机学习(2)-----如何通过C语言运用延时函数设计LED流水灯
  • 回归预测模型:MATLAB多项式回归
  • 「计算机网络」数据链路层
  • 【Linux】Ubuntu 22.04 升级 nodejs 到 v18
  • 当go get获取不到软件包时