After java at double precision loss problem multiplied by 100

such as

System.out.println(0.14*100);

Output: 14.000000000000002

 

Solution:

BigDecimal b = new BigDecimal(String.valueOf(0.14));
BigDecimal c = new BigDecimal(String.valueOf(100));
System.out.println(b.multiply(c));
System.out.println(b.multiply(c).intValue());
System.out.println(b.multiply(c).doubleValue());

Output: 

14.00
14
14.0

Guess you like

Origin www.cnblogs.com/li150dan/p/12169905.html