位置:java.math包中
作用:精确计算浮点数
创建方式:BigDecimal bd=new BigDecimal("1.0");
注意:使用的时候选择字符串
方法:
BigDecimal add(BigDecimal bd) 加法
BigDecimal subtract(BigDecimal bd) 减法
BigDecimal multiply(BigDecimal bd )乘法
BigDecimal divide(BigDecimal bd)除法
public class Demo01 {
public static void main(String[] args) {
double d1=1.0;
double d2=0.9;
System.out.println(d1-d2);
//面试题;下面 result输出的结果为多少
double result=(1.4-0.5)/0.9;
System.out.println(result);
System.out.println("==========正确示范===========");
// 正确解决方案:
BigDecimal bd1=new BigDecimal("1");
BigDecimal bd2=new BigDecimal("0.9");
//注意:类运算时需要调用方法;本次用subtract方法做减法
BigDecimal r1=bd1.subtract(bd2);
System.out.println(r1);
//加法 add
BigDecimal r2=bd1.add(bd2);
System.out.println(r2);
//乘法 multiply
BigDecimal r3= bd1.multiply(bd2);
System.out.println(r3);
//除法
//面试题(1.4-0.5)/0.9=1;用BigDecimal方法实现
BigDecimal r4=new BigDecimal("1.4").subtract(new BigDecimal("0.5")).divide(new BigDecimal("0.9"));
System.out.println(r4);
//10除以3题目; divide方法里面的int scale方法决定保留几位小数;BigDecimal里面的常量ROUND_HALF_UP来四舍五入。
BigDecimal r5=new BigDecimal("10").divide( new BigDecimal("3"),2,BigDecimal.ROUND_HALF_UP);
System.out.println(r5);
BigDecimal r6=new BigDecimal("20").divide( new BigDecimal("3"),2,BigDecimal.ROUND_HALF_UP);
System.out.println(r6);
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义