BigDecimal常见用法

1、赋值:

BigDecimal five = new BigDecimal("5");

2、比较大小:

使用compareTo方法

int flag = bigdemical1.compareTo(bigdemical2)

flag = -1,表示bigdemical1小于bigdemical2;
flag = 0,表示bigdemical1等于bigdemical2;
flag = 1,表示bigdemical1大于bigdemical2;

实际应用中直接跟0比较就可以了

Boolean result = bigDecimal1.compareTo(bigDecimal2) > 0;


大于0就是bigdemical大于bigdemical1
等于0就是bigdemical等于bigdemical1
小于0就是bigdemical小于bigdemical1

3、加减乘除:

1)加法:

BigDecimal a = new BigDecimal("1");

BigDecimal b = new BigDecimal("4");

BigDecimal sum = a.add(b);

2)减法:

BigDecimal a = new BigDecimal("4");

BigDecimal b = new BigDecimal("1");

BigDecimal diff = a.subtract(b);

3)乘法:

BigDecimal a = new BigDecimal("1");

BigDecimal b = new BigDecimal("4");

BigDecimal product = a.multiply(b);

4)除法:

BigDecimal a = new BigDecimal("4");

BigDecimal b = new BigDecimal("1");

BigDecimal quotient = a.divide(b, 2, RoundingMode.HALF_UP);

在上述代码中,quotient表示a和b的商,其值为4.00。其中,第二个参数2表示保留两位小数,第三个参数RoundingMode.HALF_UP表示采用四舍五入的方式进行舍入。

4、取余数:

        BigDecimal five = new BigDecimal("5");
        BigDecimal bigDecimal1 = new BigDecimal("21");
        BigDecimal[] result = bigDecimal1.divideAndRemainder(five);
        BigDecimal quotient = result[0];
        BigDecimal remainder = result[1];

divideAndRemainder(BigDecimal divisor)该方法接收另一个BigDecimal 对象作为参数,该参数即为除数,返回一个BigDecimal数组,返回数组中包含两个元素,第一个元素为两数相除的商,第二个元素为余数。

5、long类型转BigDecimal:

long num = 1000L;
BigDecimal decimal = BigDecimal.valueOf(num);

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
BigDecimal是Java中用于高精度计算的类,它可以处理任意精度的浮点数,并且避免了使用double或float所带来的精度问题。下面是BigDecimal常见用法: 1. 创建BigDecimal对象 可以使用BigDecimal的构造函数来创建BigDecimal对象,其中可以传入一个字符串表示数字或者一个double类型的值。 例如: ```java BigDecimal bd1 = new BigDecimal("12345678901234567890.123456789"); BigDecimal bd2 = new BigDecimal(1234567890.123456789); ``` 2. 进行基本的算术运算 BigDecimal支持加、减、乘、除等基本的算术运算,可以使用add、subtract、multiply、divide等方法进行计算。 例如: ```java BigDecimal bd1 = new BigDecimal("1.2"); BigDecimal bd2 = new BigDecimal("2.3"); BigDecimal result = bd1.add(bd2); // 加法 result = bd1.subtract(bd2); // 减法 result = bd1.multiply(bd2); // 乘法 result = bd1.divide(bd2); // 除法 ``` 3. 设置精度和舍入模式 可以使用setScale方法设置BigDecimal对象的精度,并且可以设置舍入模式。 例如: ```java BigDecimal bd = new BigDecimal("1.23456789"); bd = bd.setScale(3, RoundingMode.HALF_UP); // 设置精度为3,舍入模式为四舍五入 System.out.println(bd); // 输出结果为1.235 ``` 4. 比较大小 可以使用compareTo方法比较两个BigDecimal对象的大小,返回值为-1、0、1,表示小于、等于、大于。 例如: ```java BigDecimal bd1 = new BigDecimal("1.234"); BigDecimal bd2 = new BigDecimal("1.235"); int result = bd1.compareTo(bd2); // 比较大小 if (result < 0) { System.out.println("bd1 < bd2"); } else if (result == 0) { System.out.println("bd1 = bd2"); } else { System.out.println("bd1 > bd2"); } ``` 5. 转换为其他数据类型 可以使用doubleValue、intValue、longValue等方法将BigDecimal对象转换为其他数据类型。 例如: ```java BigDecimal bd = new BigDecimal("123.456"); double d = bd.doubleValue(); // 转换为double类型 int i = bd.intValue(); // 转换为int类型 long l = bd.longValue(); // 转换为long类型 ``` 以上就是BigDecimal常见用法,可以根据实际需要进行使用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值