标签:mat 数值 public divide 静态方法 package 误差 数学 字符串
一般情况下,计算机不能精确地表示浮点数。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 }
标签:mat 数值 public divide 静态方法 package 误差 数学 字符串
原文地址:https://www.cnblogs.com/chy18883701161/p/10854478.html