BigDecimal

1.new BigDecimal()和BigDecimal.valueOf()

===>

BigDecimal bd1 = new BigDecimal(0.01);
BigDecimal bd2 = BigDecimal.valueOf(0.01);
System.out.println("bd1 = " + bd1);
System.out.println("bd2 = " + bd2);

=====>

bd1 = 0.01000000000000000020816681711721685132943093776702880859375
bd2 = 0.01

 

 等值比较

BigDecimal bd1 = new BigDecimal("1.0");
BigDecimal bd2 = new BigDecimal("1.00");
System.out.println(bd1.equals(bd2));
System.out.println(bd1.compareTo(bd2));

=====>

false
0

BigDecimalequals方法的实现会比较两个数字的精度,而compareTo方法则只会比较数值的大小。

BigDecimal转回String

BigDecimal d = BigDecimal.valueOf(12334535345456700.12345634534534578901);
String out = d.toString(); // Or perform any formatting that needs to be done
System.out.println(out); // 1.23345353454567E+16

=======>

String toString();     // 有必要时使用科学计数法
String toPlainString();   // 不使用科学计数法
String toEngineeringString(); 

 

posted @ 2022-07-02 22:19  KLAPT  阅读(106)  评论(0)    收藏  举报