/*
double转int丢失精度原因:
Java中的简单浮点数类型float和double不能够进行运算。转换为DecimalFormat很可。
*/
String str = "4.14";
int a = (int) (Double.parseDouble(str)*100);
BigDecimal b = new BigDecimal(str);
BigDecimal c = new BigDecimal(String.valueOf(100));
//BigDecimal用方法代替+-*/ 下面这一步等于b*c
int d = b.multiply(c).intValue();
System.out.println("a:"+a);
System.out.println("d:"+d);
/*
BigDecimal 其它方法
*/
public BigDecimal add(BigDecimal value);//加法
public BigDecimal subtract(BigDecimal value);//减法
public BigDecimal multiply(BigDecimal value);//乘法
public BigDecimal divide(BigDecimal value);//除法
运行结果:
a:413
d:414