java数字字符串,非数字字符串前补零,后补零到指定位数
import java.text.DecimalFormat;
import java.util.Arrays;
public class StringFormatters {
public static void main(String[] args) {
String numStr = "12345";
String notNumStr = "ABC";
StringFormatters format = new StringFormatters();
String s1 = format.numberStrBeforeZero1(numStr, 8);
String s2 = format.numberStrBeforeZero2(numStr, 8);
String s3 = format.numberStrAfterZero(numStr, 8);
String s4 = format.notNumberStrBeforeZero(notNumStr, 8);
String s5 = format.notNumberStrAfterZero(notNumStr, 8);
System.out.println(Arrays.asList(s1, s2, s3, s4, s5));
}
private String numberStrBeforeZero1(String numStr, int len) {
DecimalFormat decimalFormat = new DecimalFormat(String.format("%0" + len + "d", 0));
return decimalFormat.format(Integer.valueOf(numStr));
}
private String numberStrBeforeZero2(String numStr, int len) {
return String.format("%0" + len + "d", Integer.valueOf(numStr));
}
private String numberStrAfterZero(String numStr, int len) {
int subLen = len - numStr.length();
return numStr + String.format("%0" + subLen + "d", 0);
}
private String notNumberStrBeforeZero(String numStr, int len) {
return String.format("%" + len + "s", numStr).replace(" ", "0");
}
private String notNumberStrAfterZero(String numStr, int len) {
int subLen = len - numStr.length();
return numStr + String.format("%0" + subLen + "d", 0);
}
}