BigDecimal类
像我们java的基本运算符进行高精度运算存在精度丢失,这时候就用到了BigDecimal类。
常用的构造方法
- BigDecimal(int):将int表示形式转换为BigDecimal对象
-
BigDecimal(double) :将 double 表示形式转换为 BigDecimal 对象
-
BigDecimal(String) :将字符串表示形式转换为 BigDecimal 对象
常用的方法
- add(BigDecimal):BigDecimal对象中的值相加,返回BigDecimal对象
- subtract(BigDecimal):BigDecimal对象中的值相减,返回BigDecimal对象
- multiply(BigDecimal):BigDecimal对象中的值相乘,返回BigDecimal对象
- divide(BigDecimal):BigDecimal对象中的值相除,返回BigDecimal对象
- toString():将BigDecimal对象中的值转换成字符串
- doubleValue():将BigDecimal对象中的值转换成双精度数
- floatValue():将BigDecimal对象中的值转换成单精度数
- longValue():将BigDecimal对象中的值转换成长整数
- intValue():将BigDecimal对象中的值转换成整数
代码应用
import java.math.BigDecimal;
public class Demo {
public static void main(String[] args) {
int age=6;
BigDecimal age2 =new BigDecimal(age);
System.out.println("打印我的age2="+age2);//整型被转为BigDecimal
String name="66";//字符串、转时,需要注意字符串的内容是否为数字,否则会报错,类型异常
BigDecimal age93 =new BigDecimal(name);
System.out.println("打印我的age3="+age93);//字符串被转为BigDecimal
double grade =66.6;
BigDecimal age4 = new BigDecimal(grade);
System.out.println("打印我的age4="+age4);//双精度被转为BigDecimal
// int it1=4;
// int it2 =2;
// int it3=0;
Double it1=4.1;
Double it2 =2.1;
Double it3=0.0;
BigDecimal bc1 =new BigDecimal(4.1);
BigDecimal bc2 =new BigDecimal(2);
BigDecimal bcn =null;
it3 =it1+it2;
bcn =bc1.add(bc2);
System.out.println(it3);
System.out.println(bcn);//高精度运算 +
it3 =it1-it2;
System.out.println(it3);
bcn=bc1.subtract(bc2);
System.out.println(bcn);//高精度运算 -
it3 =it1*it2;
System.out.println(it3);
bcn =bc1.multiply(bc2);
System.out.println(bcn);//高精度运算 *
bcn =bc1.divide(bc2);
it3 =it1/it2;
System.out.println(it3);
System.out.println(bcn);//高精度运算 /
}
}