从数据库中读取的数据是小数,但是返给前台需要是百分数,相当于需要将读取到的数据乘以100才可以,从数据库中取出数据后,数值会增加几位小数,所以不能直接进行乘以100的操作,这样数据还是不正确的。
数据库中数据如下:
将读取到的数据乘以100+"%"如下:
最终使用的方法使用DecimalFormat,详细的了解可以看官方的api,中文的api
小数转换为百分数:
// 设置小数格式 #.#-1位, #.##-2位,#.###-3位
DecimalFormat df = new DecimalFormat("#.##"); //0.28
//最后保留几位小数由小数点后0的个数表示
DecimalFormat df2 = new DecimalFormat("0.00%");
String s = df2.format(0.2816666666666667) // 28.00%
由百分数转换为小数:
String percent="1.823%";
percent=percent.replace("%","");
Float fn = Float.valueOf(percent) / 100;
BigDecimal d= new BigDecimal(fn);
System.out.println(d); // 打印的结果是:0.018229998648166656494140625
更多可参考:DecimalFormat的使用 - 简书