java常用应用程序编程接口(API)——BigDecimal概述

前言:

由于浮点型运算的底层逻辑并不是遵循十进制运算,所以有时运算会出现bug,使用BigDecimal可以解决这个问题。打好基础,daydayup!

BigDecimal

BigDecimal是什么?

BigDecimal是一个浮点型运算的类,用于解决浮点型运算结果失真的问题

BigDecimal的使用方式

1,创建对象,调用有参数构造器初始化对象:public BigDecimal(double val); (将double转换为BigDecimal)

2,创建对象,调用有参数构造器初始化对象:public BigDecimal(String val); (将String转成BigDecimal)

例:如下

注:不建议使用方式1,因为直接把double转化成BigDecimal,同样会引发失真的问题

BigDecimal的常用方式

|-----------------------------------------------------|----------------------|
| 方法名 | 说明 |
| public static BigDecimal valueOf(double val) | 转换double类型 |
| public BigDecimal add(BigDecimal b) | 加法 |
| public BigDecimal subtract(BigDecimal b) | 减法 |
| public BigDecimal multiply(BigDecimal b) | 乘法 |
| public BigDecimal divide(BigDecimal b) | 除法 |
| public BigDecimal divide(另一个BigDecimal对象,精确几位,四舍五入) | 除法,可以控制精确到小数几位 |
| public double doubleValue() | 将BigDecimal转化成double |

例:如下

总结:

使用BigDecimal后一定要转换成double类型。整理结束,撒花!!

相关推荐
Evand J1 小时前
LOS/NLOS环境建模与三维TOA定位,MATLAB仿真程序,可自定义锚点数量和轨迹点长度
开发语言·matlab
LucianaiB1 小时前
探索CSDN博客数据:使用Python爬虫技术
开发语言·爬虫·python
Ronin3051 小时前
11.vector的介绍及模拟实现
开发语言·c++
计算机学长大白2 小时前
C中设计不允许继承的类的实现方法是什么?
c语言·开发语言
suweijie7682 小时前
SpringCloudAlibaba | Sentinel从基础到进阶
java·大数据·sentinel
公贵买其鹿3 小时前
List深拷贝后,数据还是被串改
java
PieroPc3 小时前
Python 写的 智慧记 进销存 辅助 程序 导入导出 excel 可打印
开发语言·python·excel
2401_857439695 小时前
SSM 架构下 Vue 电脑测评系统:为电脑性能评估赋能
开发语言·php
SoraLuna6 小时前
「Mac畅玩鸿蒙与硬件47」UI互动应用篇24 - 虚拟音乐控制台
开发语言·macos·ui·华为·harmonyos
xlsw_6 小时前
java全栈day20--Web后端实战(Mybatis基础2)
java·开发语言·mybatis