BigDecimal使用
程序员文章站
2022-05-06 08:47:19
...
为什么需要BigDecimal
public class Test {
public static void main(String[] args) {
float a=1.5f-0.3f;
float b=1.3f-0.1f;
System.out.println(a);
System.out.println(b);
System.out.println(a==b);
//由于浮点经度丢失的问题
/*
1.2
1.1999999
false
*/
//为防止精度丢失,使用new BigDecimal(String str)来传递
BigDecimal a1 =new BigDecimal("1.5");
BigDecimal b1 =new BigDecimal("0.3");
BigDecimal c1 =new BigDecimal("1.3");
BigDecimal d1 =new BigDecimal("0.1");
BigDecimal x=a1.subtract(b1);
BigDecimal y=c1.subtract(d1);
System.out.println(x);
System.out.println(y);
System.out.println(x.equals(y));
/*
1.2
1.2
true
*/
}
}
常用使用方式
- 比较 使用compareTo()方法
BigDecimal a = new BigDecimal("1.0");
BigDecimal b = new BigDecimal("0.9");
System.out.println(a.compareTo(b));//
- 保留小数
BigDecimal m = new BigDecimal("1.255433");
BigDecimal n = m.setScale(3,BigDecimal.ROUND_HALF_DOWN);
System.out.println(n);// 1.255
上一篇: 面试总结一——基础知识
下一篇: 包装类型的判断用equals,不用==
推荐阅读
-
ES6中的解构、扩展运算符(...)、rest参数(...)的使用
-
ES6基础学习——第二天(Symbol 的基本使用、迭代器、生成器、Promise 基本语法)
-
详解Spring boot/Spring 统一错误处理方案的使用
-
3分钟学会Promise--API的使用(es6篇)
-
c#使用资源文件的示例
-
Android编程实现使用webView打开本地html文件的方法
-
IOS使用NSUserDefault去实现界面传值和数据存储
-
iOS中只让textField使用键盘通知的实例代码
-
详解使用jquery.i18n.properties 实现web前端国际化
-
浅谈使用Maven插件构建Docker镜像的方法