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类型。整理结束,撒花!!

相关推荐
香蕉鼠片8 分钟前
算法过程中不会的
开发语言·c++
阿旭超级学得完16 分钟前
C++11包装器(function和bind)
java·开发语言·c++·算法·哈希算法·散列表
輕華17 分钟前
uv工具详解——Python包与项目管理器完全指南
开发语言·python·uv
念何架构之路38 分钟前
Go语言常见并发模式
开发语言·后端·golang
磊 子1 小时前
多态类原理+四种类型转换+异常处理
开发语言·c++·算法
脆皮炸鸡7551 小时前
库制作与原理~动态链接
linux·开发语言·经验分享·笔记·学习方法
XMYX-01 小时前
26 - Go recover 捕获错误:优雅恢复的真正意义
开发语言·golang
小白学大数据1 小时前
基于大模型的Python智能爬虫:语义识别与数据清洗实践
开发语言·爬虫·python·数据分析
掉鱼的猫1 小时前
Spring AI 2.0 GA 倒计时:先别急,来看看 Java AI 框架的另一条路
java·openai·agent