package com.henu;
import java.math.BigDecimal;
/**
* @author limengdong
* @date 2019年7月19日
* @classroom 208bigdata
* @description:大数据运算 BigDecimal
*
*/
public class Demo15 {
public static void main(String[] args) {
System.out.println(0.09 + 0.01);//0.09999999999999999
System.out.println(1.0 - 0.32);//0.6799999999999999
System.out.println(1.015 * 100);//101.49999999999999
System.out.println(1.301 / 100);//0.013009999999999999
/*
* double和float类型在运算中很容易丢失精度,造成数据的不准确性,
* Java提供我们BigDecimal类可以实现浮点数据的高精度运算
*/
//大数据封装为BigDecimal对象
BigDecimal big1 = new BigDecimal("0.09");
BigDecimal big2 = new BigDecimal("0.01");
//add实现加法运算
BigDecimal bigAdd = big1.add(big2);
System.out.println(bigAdd);//0.10
BigDecimal big3 = new BigDecimal("1.0");
BigDecimal big4 = new BigDecimal("0.32");
//subtract实现减法运算
BigDecimal bigSub = big3.subtract(big4);
BigDecimal big5 = new BigDecimal("1.105");
BigDecimal big6 = new BigDecimal("100");
//multiply实现乘法运算
BigDecimal bigMul = big5.multiply(big6);
}
}
做一个计算器类,对浮点数进行 加减乘除的精确运算
package com.henu;
import java.math.BigDecimal;
public class Calculator {
private BigDecimal big1;
private BigDecimal big2;
public Calculator() {
}
public Calculator(BigDecimal big1, BigDecimal big2) {
this.big1 = big1;
this.big2 = big2;
}
public BigDecimal jia() {
return big1.add(big2);//加操作
}
public BigDecimal jian() {
return big1.subtract(big2);//减操作
}
public BigDecimal cheng() {
return big1.multiply(big2);//乘
}
public BigDecimal chu() {
return big1.divide(big2);//除
}
}
**************************************************
package com.henu;
import java.math.BigDecimal;
public class Test03 {
public static void main(String[] args) {
BigDecimal big1 = new BigDecimal("1.015");
BigDecimal big2 = new BigDecimal("0.32");
Calculator calc = new Calculator(big1,big2);
System.out.println("和是="+calc.jia()+",减是="+calc.jian()
+",乘是="+calc.cheng()+",除是="+calc.chu());
//和是=1.335,减是=0.695,乘是=0.32480,除是=3.171875
}
}
最后
以上就是认真铃铛最近收集整理的关于java基础----BigDecimal的全部内容,更多相关java基础----BigDecimal内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复