Java 常用类:
- BigDecimal类:为了能精确表示、计算浮点数,Java提供了BigDecimal类,该类提供了大量的构造器用于创建 BigDecimal对象,包括把所有的基本数值型变量转换成一个BigDecimal对象,也包括利用数字字符串、 数字字符数组来创建BigDecimal对象。
常用构造器:
BigDecimal(int val):将 int 转换为 BigDecimal。
BigDecimal bD3=new BigDecimal(60);
System.out.println(“bD3=”+bD3);
输出: bD3=60
BigDecimal(long val):将 long 转换为 BigDecimal。
BigDecimal bD4=new BigDecimal(60L);
System.out.println(“bD4=”+bD4);
输出:bD4=60
BigDecimal(String val):将 BigDecimal 的字符串表示形式转换为 BigDecimal。
BigDecimal bD5=new BigDecimal(“50”);
System.out.println(“bD5=”+bD5);
输出:bD5=50
常用方法:
valueOf(double val): 使用 Double.toString(double) 方法提供 的 double 规范的字符串表示形式将 double 转换为 BigDecimal。
BigDecimal bD6=BigDecimal.valueOf(50D);
System.out.println(“bD6=”+bD6);
输出:bD6=50.0
valueOf(long val):将 long 值转换为具有零标度的 BigDecimal。
BigDecimal bD7=BigDecimal.valueOf(50L);
System.out.println(“bD7=”+bD7);
输出:bD7=50
abs():返回 BigDecimal,其值为此 BigDecimal 的绝对值,其标度为 this.scale()。
BigDecimal b6=BigDecimal.valueOf(50D);
BigDecimal b7=BigDecimal.valueOf(50L);
System.out.println(“b6=”+b6.abs());
输出:b6=50.0
add(BigDecimal augend):返回一个 BigDecimal,其值为 (this + augend)
BigDecimal b6=BigDecimal.valueOf(50D);
BigDecimal b7=BigDecimal.valueOf(50L);
System.out.println(“b6+b7=”+b6.add(b7));
输出:b6+b7=100.0
subtract(BigDecimal subtrahend):返回一个 BigDecimal,其值为 (this - subtrahend),
BigDecimal b6=BigDecimal.valueOf(50D);
BigDecimal b7=BigDecimal.valueOf(50L);
System.out.println(“b6-b7=”+b6.subtract(b7));
输出:b6-b7=0.0
multiply(BigDecimal multiplicand):返回一个 BigDecimal,其值为 (this × multiplicand)
BigDecimal b6=BigDecimal.valueOf(50D);
BigDecimal b7=BigDecimal.valueOf(50L);
System.out.println("b6b7="+b6.multiply(b7));
输出:b6b7=2500.0
divide(BigDecimal divisor):返回一个 BigDecimal,其值为 (this / divisor)
BigDecimal b6=BigDecimal.valueOf(50D);
BigDecimal b7=BigDecimal.valueOf(50L);
System.out.println(“b6/b7=”+b6.divide(b7));
输出:b6/b7=1.0
pow(int n):返回其值为 (thisn) 的 BigDecimal
BigDecimal b6=BigDecimal.valueOf(50D);
BigDecimal b7=BigDecimal.valueOf(50L);
System.out.println(“b6^3=”+b6.pow(3));
输出:b6^3=125000.000
compareTo(BigDecimal val):将此BigDecimal与指定的BigDecimal比较。
BigDecimal b6=BigDecimal.valueOf(50D);
BigDecimal b7=BigDecimal.valueOf(50L);
System.out.println("b6 compareTo b7= "+b6.compareTo(b7));
输出:b6 compareTo b7= 0
byteValue():将此BigDecimal转换为byte
byteValueExact():将此BigDecimal转换为byte,以检查丢失的信息。
shortValue():将此BigDecimal转换为short
shortValueExact():将此BigDecimal转换为 short,以检查丢失的信息。
intValue():将此BigDecimal转换为int。
intValueExact():将此BigDecimal转换为int,以检查丢失的信息