首页 > 其他 > 详细

bigdecimal 类型的变量怎么相互加减乘除

时间:2020-06-12 10:35:06      阅读:73      评论:0      收藏:0      [点我收藏+]

文章出处:https://zhidao.baidu.com/question/629036057904993964.html

import java.math.BigDecimal;
 
public class Test {
    public static void main(String[] args) {
        // BigDecimal是处理baidouble精度问题的对象du
        BigDecimal b1 = new BigDecimal("10");
        BigDecimal b2 new BigDecimal("10");
        // 结果zhi
        BigDecimal result = null;
        // 加
        result = b1.add(b2);
        System.out.println(result.doubleValue());
        // 减
        result = b1.subtract(b2);
        System.out.println(result.doubleValue());
        // 乘
        result = b1.multiply(b2);
        System.out.println(result.doubleValue());
        // 除
        result = b1.divide(b2);
        System.out.println(result.doubleValue());
    }
}

 

java 中 BigDecimal 怎么与 0 比较:

//调用BigDecimal中的compareTo方法bai, 如:
int i = bigDecimal.compareTo(new BigDecimal(0));
i=0:表示dubigDecimal的值=0
i>0:表示bigDecimal的值与zhi>0
i<0:表示bigDecimal的值与<0
int r=big_decimal.compareTo(BigDecimal.Zero); //和0,Zero比较
if(r==0) //等于baidu
if(r==1) //大于
if(r==-1) //小于
if(big_decimal.equals(BigDecimal.Zero)) //是否等于0

创建BigDecimal对象主要有两种。

BigDecimal b1 = new BigDecimal("1.34");//1.34
BigDecimal b2 = BigDecimal.valueOf(1.34);//1.34

其中b1也可以写成new BigDecimal(Double.toString(1.34)),可以直接new BigDecimal(1.34)吗,也是可以的,只是会出现上述的精度问题。

BigDecimal one1 = new BigDecimal(1.34);//1.3400000000000000799360577730112709105014801025390625
BigDecimal two1 = new BigDecimal("1.34");//1.34

除了这两种外,特殊的像0、1、10可以这样写。

BigDecimal zero = BigDecimal.ZERO;
BigDecimal one = BigDecimal.ONE;
BigDecimal ten = BigDecimal.TEN;

 

bigdecimal 类型的变量怎么相互加减乘除

原文:https://www.cnblogs.com/gjq1126-web/p/13097564.html

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