double数值乘以100后精度增加的问题

问题代码:

Double dou = Double.parseDouble("77.10")*100;
String str = dou.toString();
System.out.println(str);          //7709.999999999999
System.out.println(str.substring(0,dou.toString().indexOf(".")));  //7709
		 

解决方案:

BigDecimal b = new BigDecimal(String.valueOf("77.10"));
BigDecimal c = new BigDecimal(String.valueOf("100"));
System.out.println(b.multiply(c));				//7710.00
System.out.println(b.multiply(c).longValue());  //7710

 

你可能感兴趣的:(double数值乘以100后精度增加的问题)