java常用类-BigDecimal
5.BigDecimal类
位置:java.math包
作用:精确计算浮点数
创建方式:BigDecimal bd=mew BigDecimal("1.0"); //一定要用字符串!
BigDecimal add(BigDecimal bd) 加
BigDecimal subtract(BigDecimal bd) 减
BigDecimal multiply(BigDecimal bd) 乘
BigDecimal divide(BigDecimal bd) 除
BigDecimal divide(BigDecimal bd,int scal,RoundingMode mode);
【注意】一定要用字符串创建BigDecimal对象!
除不尽时需要明确保留小数点位数和取数方式,否则运行错误!
public class BigDecimalDemo {
public static void main(String[] args) {
double db1=1.0;
double db2=0.9;
System.out.println(db1-db2);//0.09999999998
//面试题
double result=(1.4-0.5)/0.9;
System.out.println(result);//0.9999999999
//BigDecimal,浮点数精确计算
BigDecimal bd1=new BigDecimal("1.0");//一定要用字符串
BigDecimal bd2=new BigDecimal("0.9");//一定要用字符串
//减法
BigDecimal subtract = bd1.subtract(bd2);
System.out.println(subtract);
//加法
BigDecimal add = bd1.add(bd2);
System.out.println(add);
//乘法
BigDecimal multiply = bd1.multiply(bd2);
System.out.println(multiply);
//除法
BigDecimal divide = new BigDecimal("1.4")
.subtract(new BigDecimal("0.5"))
.divide(new BigDecimal("0.9"));
System.out.println(divide);
//运行错误,除不尽时需要明确保留小数点位数和取数方式
//BigDecimal round = new BigDecimal("10").divide(new BigDecimal("3"));
BigDecimal round = new BigDecimal("10").divide(new BigDecimal("3"),2, RoundingMode.HALF_UP);
System.out.println(round);
}
}
本文来自博客园,作者:老李学Java,转载请注明原文链接:https://www.cnblogs.com/JasonPro/p/15907588.html
分类:
javaSE.Java常用类
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现