码迷,mamicode.com
首页 > 其他好文 > 详细

BigDecimal

时间:2017-07-04 01:07:53      阅读:233      评论:0      收藏:0      [点我收藏+]

标签:ges   数学   运算   mat   应用   调用   恢复   需要   字符   

---恢复内容开始---

ava在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。双精度浮点型变量double可以处理16位有效数。在实际应用中,需要对更大或者更小的数进行运算和处理。float和double只能用来做科学计算或者是工程计算,在商业计算中要用java.math.BigDecimal。BigDecimal所创建的是对象,我们不能使用传统的+、-、*、/等算术运算符直接对其对象进行数学运算,而必须调用其相对应的方法。方法中的参数也必须是BigDecimal的对象。构造器是类的特殊方法,专门用来创建对象,特别是带有参数的对象。

public static void main(String[] args) {
// 精度测试
double d1 = 0.01, d2 = 0.06, d3;
d3 = d1 + d2;
System.out.println(d3);

d1 = 0.7;
System.out.println(d1 + d1 + d1); // 应该是2.1

BigDecimal bigDecimal = new BigDecimal(0.7);
BigDecimal value = new BigDecimal(Double.valueOf(d1).toString());
System.out.println("数字形式的输出:" + bigDecimal);
System.out.println("字符形式的输出:" + value);

}

技术分享

 

 由输出的结果我们可以看到使用数字类型的构造已经失真了,所以最好还是采用字符构造

 

用String初始化Decimal,这样是精确的小数

---恢复内容结束---

BigDecimal

标签:ges   数学   运算   mat   应用   调用   恢复   需要   字符   

原文地址:http://www.cnblogs.com/limingxian537423/p/7113513.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!