zoukankan      html  css  js  c++  java
  • BigDecimal类(精度计算类)的加减乘除

    BigDecimal类

    对于不需要任何准确计算精度的数字可以直接使用float或double,但是如果需要精确计算的结果,则必须使用BigDecimal类,而且使用BigDecimal类也可以进行大数的操作。BigDecimal类的常用方法如表11-15所示。

    BigDecimal类的常用方法

    序号

       

    类型

       

    1

    public BigDecimal(double val)

    构造

    将double表示形式转换

    为BigDecimal

    2

    public BigDecimal(int val)

    构造

    将int表示形式转换为

    BigDecimal

    3

    public BigDecimal(String val)

    构造

    将字符串表示

    形式转换为BigDecimal

    4

    public BigDecimal add(BigDecimal augend)

    普通

    加法

    5

    public BigDecimal subtract(BigDecimal
    subtrahend)

    普通

    减法

    6

    public BigDecimal multiply(BigDecimal
    multiplicand)

    普通

    乘法

    7

    public BigDecimal divide(BigDecimal
    divisor)

    普通

    除法

    进行四舍五入的四则运算demo.

    package test;

    import java.math.BigDecimal;

    class MyMathTest {

    public static double add(double d1, double d2)

    {        // 进行加法运算

             BigDecimal b1 = new BigDecimal(d1);

             BigDecimal b2 = new BigDecimal(d2);

    return b1.add(b2).doubleValue();

         }

    public static double sub(double d1, double d2)

    {        // 进行减法运算

             BigDecimal b1 = new BigDecimal(d1);

             BigDecimal b2 = new BigDecimal(d2);

    return b1.subtract(b2).doubleValue();

         }

    public static double mul(double d1, double d2)

    {        // 进行乘法运算

             BigDecimal b1 = new BigDecimal(d1);

             BigDecimal b2 = new BigDecimal(d2);

    return b1.multiply(b2).doubleValue();

         }

    public static double div(double d1,

    double d2,int len) {// 进行除法运算

             BigDecimal b1 = new BigDecimal(d1);

             BigDecimal b2 = new BigDecimal(d2);

    return b1.divide(b2,len,BigDecimal.ROUND_HALF_UP).doubleValue();

         }

    public static double round(double d,int len) {     // 进行四舍五入操作

             BigDecimal b1 = new BigDecimal(d);

             BigDecimal b2 = new BigDecimal(1);

    // 任何一个数字除以1都是原数字

    // ROUND_HALF_UP是BigDecimal的一个常量,

        • 表示进行四舍五入的操作
    • return b1.divide(b2, len,BigDecimal.ROUND_HALF_UP).doubleValue();
    •      }
    • }
    • public class BigDecimalDemo01 {
    • public static void main(String[] args) {
    •          System.out.println("加法运算:" +MyMath.round(MyMath.add(10.345,3.333), 1));
    •      System.out.println("乘法运算:" +MyMath.round(MyMath.mul(10.345,3.333), 3));
    •  System.out.println("除法运算:" +MyMath.div(10.345, 3.333, 3));
    •  System.out.println("减法运算:" +MyMath.round(MyMath.sub(10.345,3.333), 3));
    •   }

    }

  • 相关阅读:
    linux---shell数组
    linux---shell传递参数
    Windows mysql免安装版配置。(版本号-5.6.45);
    contos 6.9 和 centos7 配置docker?
    数据库表的演化过程
    docker简单介绍。
    Linux 配置 mycat 和 分库分表配置。
    Linux 配置mysql 免安装版。
    mycat 简单介绍
    kibana 对es的简单操作。
  • 原文地址:https://www.cnblogs.com/xubiao/p/5461697.html
Copyright © 2011-2022 走看看