需求
- 把一个字符串小数 ,例如 “0.1335” ,乘以 100并且用 % 进行输入,即是: 13.35 %
失败的尝试
-
float
-
double
-
上面的两种在某种特定小数字符串下,有失去精度的可能
解决方法
//高精度使用,避免失精度
BigDecimal mDecimal = new BigDecimal(100);
BigDecimal resultDecimal = null;
BigDecimal factorDecimal = null;
factorDecimal = new BigDecimal("0.1335");
resultDecimal = factorDecimal.multiply(mDecimal);
String result = String.valueOf(resultDecimal.doubleValue());
网友评论