首页 > 编程语言 > 详细

Java的BigDecimal类

时间:2021-07-10 15:59:56      阅读:21      评论:0      收藏:0      [点我收藏+]

Java的BigDecimal类

  • 位置:java.math包中

  • 作用:精确计算浮点数

  • 创建方式:BigDecimal bd = new BigDecimal("1.0");

  • 方法:

    • BigDecimal add(BigDecimal bd); 加法
    • BigDecimal subtract(BigDecimal bd); 减法
    • BigDecimal multiply(BigDecimal bd); 乘法
    • BigDecimal divide(BigDecimal bd); 除法
  • 除法:divide(BigDecimal bd,int scal,RoundingMode mode)

    • 参数scal:指定精确到小数点后几位
    • 参数mode:
      • 指定小数部分的取舍模式,通常采用四舍五入的模式
      • 取值为BigDecimal.Round_HALF_UP
package com.cnblogs;

import java.math.BigDecimal;

public class TestString {
    /*
    本类用于测试BigDecimal类
     */
    public static void main(String[] args) {
        double a = 1.0;
        double b = 0.9;
        System.out.println(a - b);//0.09999999999999998

        //BigDecimal    大的浮点数精确计算

        BigDecimal bd1 = new BigDecimal("1.0");
        BigDecimal bd2 = new BigDecimal("0.9");
        //减法
        BigDecimal r1 = bd1.subtract(bd2);
        System.out.println(r1);//0.1
        //加法
        BigDecimal r2 = bd1.add(bd2);
        System.out.println(r2);//1.9
        //乘法
        BigDecimal r3 = bd1.multiply(bd2);
        System.out.println(r3);//0.90
        //除法   (1.4-0.5)/0.9

        BigDecimal r4 = new BigDecimal("1.4").subtract(new BigDecimal("0.5")).divide(new BigDecimal("0.9"));
        System.out.println(r4);//1

        BigDecimal r5 = new BigDecimal("10").divide(new BigDecimal("3"),2,BigDecimal.ROUND_HALF_UP);
        System.out.println(r5);//3.33
    }
}

Java的BigDecimal类

原文:https://www.cnblogs.com/fangweicheng666/p/14993823.html

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