首页 > 其他 > 详细

BigDecimal/BigInteger小数运算精确的解决方案

时间:2020-07-17 19:57:03      阅读:57      评论:0      收藏:0      [点我收藏+]


//测试小数运算精确的解决方案
public class Test3_BigDecimal {
public static void main(String[] args) {
method();
}

//暴露问题
private static void method() {
//接收用户输入的两个小数,并做+-*/运算
double a = new Scanner(System.in).nextDouble();
double b = new Scanner(System.in).nextDouble();
//System.out.println(a+b);
//System.out.println(a-b);
//System.out.println(a*b);
//System.out.println(a/b);

//1.创建BigDecimal对象
//BigDecimal(double val)---有坑,更 不精确了用BigDecimal(double val)
//BigDecimal bd1 =new BigDecimal(a);
//BigDecimal bd2 =new BigDecimal(b);
//BigDecimal(String val)---提倡---a,b转成Strng类型
BigDecimal bd1 =new BigDecimal(a+"");
BigDecimal bd2 =new BigDecimal(b+"");

BigDecimal bd3=bd1.add(bd2);
System.out.println(bd3);

bd3= bd1.subtract(bd2) ;
System.out.println(bd3);

bd3=bd1.multiply(bd2);
System.out.println(bd3);

bd3=bd1.divide(bd2,5,BigDecimal.ROUND_HALF_UP);
System.out.println(bd3);
// public static void main(String[] args) {
}

}

BigDecimal/BigInteger小数运算精确的解决方案

原文:https://www.cnblogs.com/muchen-123/p/13331654.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!