BigDecimal类

Posted chy18883701161

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了BigDecimal类相关的知识,希望对你有一定的参考价值。

 

一般情况下,计算机不能精确地表示浮点数。Bigdecimal类则可以精确地表示浮点数,并可以对浮点数进行精确的数学计算。

 

构造函数:

BigDecimal(String num)    传入一个String类型的数值,因为参数直接使用浮点数,计算机表示时会有误差,用字符串表示浮点数则不会有误差。

BigDecimal.valueOf(double num)   如果必须使用double作为参数,则可以使用静态方法来创建对象。

 

BigDecimal类提供了一系列方法来进行精确地数学运算:

add(BigDecimal bd)     加

subtract(BigDecimal bd)   减

multiply(BigDecimal bd)    乘

divide(BigDecimal bd)    除

2个操作数均为BigDecimal类型,返回值也为BigDecimal类型。

 

BigDecimal也提供了一个方法将BigDecimal转换为double:

doubleValue()     //返回double型的值

 

 

示例:

 1 package test;
 2 
 3 import java.math.BigDecimal;
 4 
 5 //需要实现Cloneable接口
 6 public class Test{
 7        public static void main(String[] args) {
 8            BigDecimal db1=new BigDecimal("1.23");
 9            BigDecimal db2=new BigDecimal("1.3435");
10            //2个操作数、返回值均为BigDecimal类型
11            BigDecimal db3=db1.add(db2);
12            //转换为double类型
13            System.out.println(db3.doubleValue());
14            //当然BigDecimal类型也可以直接输出,输出的值和double类型的完全一样
15            System.out.println(db3);
16     }
17 
18 
19 }

 

以上是关于BigDecimal类的主要内容,如果未能解决你的问题,请参考以下文章

BigDecimal类

BigDecimal类

BigDecimal 详解

java中写了一个简单计算器,计算0.3*3=0.8999...,有人说要用BigDecimal 类请问要怎么使用最好写一下代码

Java中BigDecimal类介绍及用法

java之BigDecimal类