import java.math.BigDecimal;
/*
* 需求:解决float类型存储误差问题
*
* 由于在运算的时候,float类型和double很容易丢失精度,演示案例.所以,为了能精确的表示,计算浮点数,Java提供了BigDecima
*
* BigDecimal类概述:不可变的,任意精度的有符号十进制数,用于解决数字丢失问题
*
*/
public class BigDecimalDemo {
public static void main(String[] args) {
BigDecimal bd1 = new BigDecimal("0.09");
BigDecimal bd2 = new BigDecimal("0.01");
System.out.println("add:\t"+bd1.add(bd2));
System.out.println("-------------------");
BigDecimal bd3 = new BigDecimal("1.0");
BigDecimal bd4 = new BigDecimal("0.32");
System.out.println("subtract:\t"+bd3.subtract(bd4));
System.out.println("-------------------");
BigDecimal bd5 = new BigDecimal("1.015");
BigDecimal db6 = new BigDecimal("100");
System.out.println("multiply:\t"+bd5.multiply(db6));
System.out.println("-------------------");
BigDecimal bd7 = new BigDecimal("1.301");
BigDecimal bd8 = new BigDecimal("100");
System.out.println("divide:\t"+bd7.divide(bd8));
System.out.println("-------------------");
//参数1:要除以的值
//参数2:要返回的标度(就是保留几位小数)
//参数3: 要应用的舍入模式
System.out.println("divide:\t"+bd7.divide(bd8, 3, BigDecimal.ROUND_HALF_UP));
}
}
Java--BigDecimal类解决数字丢失问题
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 怎样反思自己的教学——学习杜威《我们怎样思维》有感 2015-01-13 14:56:52 来源:普宁市第三中学网...
- 小学寒假培训机构哪个好?名思教育13年专注1对1,承诺用心教好每一个孩子。 语文学习并不是没有方法,只是需要较长时...