在 java 中,如果小数点最后位是0,double类型会把这个0去掉,比如4.30变成了4.3,这样导致有的界面显示不好看。
所以要转换下,如下方法
/**
* 将double格式化为指定小数位的String,不足小数位用0补全
* @param v 需要格式化的数字
* @param scale 小数点后保留几位
* @return
*/
private String roundByScale(double v, int scale) {
if (scale < 0) {
throw new IllegalArgumentException(
"The scale must be a positive integer or zero");
}
if(scale == 0){
return new DecimalFormat("0").format(v);
}
String formatStr = "0.";
for(int i=0;i<scale;i++){
formatStr = formatStr + "0";
}
return new DecimalFormat(formatStr).format(v);
}