java中BigDecimal小数和百分比的转换

今天在项目中做文件导入数据的时候,发现从excel中读取的数据是小数,但是存到库里的时候需要存成百分数,也就相当于需要将读取的数据乘以100才可以,从excel表中取出那个数据后,数值会增加几位小数,所以不能直接进行乘以100的操作 这样数据还是不正确的,那么最终使用的方法使用DecimalFormat ,例子如下:

private DecimalFormat df = new DecimalFormat("0.000%");
String s=df.format(0.01832);
最后s的值是1.832%
注:最后保留几位小数由小数点后0的个数表示

拓展:由百分数转换为小数

String percent="1.823%";
percent=percent.replace("%","");
Float fn = Float.valueOf(percent) / 100;
BigDecimal d= new BigDecimal(fn);
System.out.println(d);
最终打印的结果是:0.018229998648166656494140625

你可能感兴趣的:(java中BigDecimal小数和百分比的转换)