我是靠谱客的博主 寂寞小天鹅,最近开发中收集的这篇文章主要介绍Java API之BigDeaimal[详解]BigDeaimal类(大浮点),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

BigDeaimal类(大浮点)

一.为什么要有BigDeaimal?

首先上来先整个活,来举一个 栗子

public class Test3{
​
    public static void main(String[] args) {
​
            System.out.println(0.2 + 0.1);
            System.out.println(0.7 - 0.5);
            System.out.println(0.1 * 0.3);
            System.out.println(0.3 / 0.1);
​
    }
}
​
这段代码的输出结果为:
    0.30000000000000004
    0.19999999999999996
    0.03
    2.9999999999999996

为什么会出现这种情况?

    因为无论是fioat还是double都是浮点数,而计算机是二进制的,浮点数在运算时就会丢失精度

注:

出现这个问题的根本原因是:

    十进制数通常没有完全相同的二进制表示形式;十进制的二进制数的表示形式可能不精确,只能无限接近整数

二.BigDeaimal类概述

  • 位于java.math包中

  • 用来对超过16位有效的数字进行精确的运算

  • 使用BigDeaimal创建对象后不能直接使用"+ ,- ,* ,/"等运算,要调用相应的方法来进行运算

三.构造器

①BigDeaimal(int)

//创建一个具有参数指定整数值的对象

②BigDeaimal(double)

//创建一个具有参数所指定双精度值的对象

③BigDeaimal(long)

//创建一个具有参数指定长整数值的对象

④BigDeaimal(String)

//创建一个具有参数指定以字符串表示数值的对象,推荐使用

四.常用方法

①add(BigDeaimal)

//在BigDeaimal对象中添加相应值,并返回这个对象

②subtract(BigDeaimal)

//在BigDeaimal对象中减去相应值,并返回这个对象

③multiply(BigDeaimal)

//将BigDeaimal对象中的值相乘,并返回这个对象

④divide(BigDeaimal)

//将BigDeaimal对象中的值相除,并返回这个对象

⑤toString()

//将BigDeaimal对象转换成字符串

最后

以上就是寂寞小天鹅为你收集整理的Java API之BigDeaimal[详解]BigDeaimal类(大浮点)的全部内容,希望文章能够帮你解决Java API之BigDeaimal[详解]BigDeaimal类(大浮点)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(58)

评论列表共有 0 条评论

立即
投稿
返回
顶部