函数 :
public static String dealDecimalPointZero(String numStr, int limitNum) {
String zeroStr = "0";
StringBuilder pointStr = new StringBuilder(".");
// 整数 ,则添加 .00
if (!numStr.contains(pointStr.toString())) {
for (int i = 0; i < limitNum; i++) {
pointStr.append(zeroStr);
}
return numStr + pointStr;
}
String beforeNum = numStr.substring(0, numStr.indexOf(pointStr.toString()) + 1);
StringBuilder afterNum = new StringBuilder(numStr.replace(beforeNum, ""));
//注意 如果是 12.667 => 12.66 小数点多余2位的情况,这里没做任何四舍五入,只做了2位数截取
if (afterNum.length() > limitNum) {
afterNum = new StringBuilder(afterNum.substring(0, limitNum));
return beforeNum + afterNum;
}
//小数,则处理 小数点.后数据, 1.2 =》 1.20 ; 1.0 =》1.00 1.26=》1.26
for (int i = afterNum.length(); i < limitNum; i++) {
afterNum.append(zeroStr);
}
return beforeNum + afterNum;
}
效果 :
1 =》 1.00
1.2 =》 1.20
1.21 =》 1.21
1.20 =》 1.20
12.667 =》 12.66
//注意 如果是 12.667 => 12.66 小数点多余2位的情况,这里没做任何四舍五入,只做了2位数截取