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,承诺用心教好每一个孩子。 语文学习并不是没有方法,只是需要较长时...