美文网首页
数字操作类(BigDecimal)类

数字操作类(BigDecimal)类

作者: 秋笙fine | 来源:发表于2019-01-26 23:02 被阅读0次

大浮点数类:
BigInteger不能够保存小数,而BigDecimal能够保存

BigDecimal构造方法1:public BigDecimal(String val)
BigDecimal构造方法2:public BigDecimal(double val)

与BigInteger一样,BigDecimal本身也支持基础的数学计算,除此之外,可以利用它来实现准确的四舍五入操作,Math.round操作所有的小数位都四舍五入了,遗憾的是BigDecimal类里面没有直接提供有四舍五入的支持,但是有除法操作支持。

public BigDecimal divide(BigDecimal divisor,int scale,int roundingMode)
被除数,保留的小数位,进位模式

BigDecimal有个常量 public static int ROUND_HALF_UP

下面实现准确的四舍五入
范例:实现准确的四舍五入

package TestDemo;

import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.Random;

class MyMath{
    /**
     * 实现准确位数的四舍五入
     * @param num 要进行四舍五入的数字
     * @param scale 要保留的小数位
     * @return 处理后的四舍五入数据
     */
    public static double round(double num,int scale){
        BigDecimal bigA=new BigDecimal(num);
        BigDecimal bigB=new BigDecimal(1);
        return bigA.divide(bigB,scale,BigDecimal.ROUND_HALF_UP).doubleValue();
    }
}
public class TestDemo{
    
    public static void main(String[] args) throws Exception{
        System.out.println(MyMath.round(19.12312312313,2));
    }   


}


image.png

成功了。

1.Math类重点要清楚round方法的坑
2.Random类生成随机数
3.如果数据量大就是用BigInteger或者BigDecimal类(Number子类)

相关文章

  • 数字操作类(BigDecimal)类

    大浮点数类:BigInteger不能够保存小数,而BigDecimal能够保存 BigDecimal构造方法1:p...

  • Java踩坑记系列之BigDecimal

    在java.math包中提供了对大数字的操作类,用于进行高精确计算,如BigInteger,BigDecimal类...

  • Java数字操作类

    导语 数学操作类的使用,其中BigInteger、BigDecimal可以操作大数字。最下面是重点,实现准确的四舍...

  • BigDecimal常用方法以及 精确计算

    1.简介 BigDecimal类位于java.math.BigDecimal包下。使用此类可以完成大的小数操作,而...

  • Java小数点处理

    四种方法 1. BigDecimal类 BigDecimal bigDecimal =new BigDecimal...

  • BigDecimal类

    BigDecimal类概述由于在运算的时候,float类型和double很容易丢失精度,在金融、银行等对数值精度要...

  • BigDecimal类

    案例代码: 计算机底层是把看的十进制数字转化为二进制进行运算,运算结果再转化为十进制展示: 在此过程中如果是整数是...

  • 数字操作类(Random)类

    这个类的主要功能是取得随机数的操作类范例:产生10个不大于100的正整数(0-99) 结果: 既然Random可以...

  • 数字操作类(BigInteger)类

    大整数操作类:BigInteger 如果说现在要操作的数据值很大,那么首先想到的是double,那么如果说现在计算...

  • 数字操作类(Math)类

    本次主要讲解的是数学操作类的使用。 Math专门进行数学计算的操作类,里面提供了一系列的数学计算方法。在Math类...

网友评论

      本文标题:数字操作类(BigDecimal)类

      本文链接:https://www.haomeiwen.com/subject/mnpwjqtx.html