java的String字符串补0或空格
方法一:自己写的方法
/*
*数字不足位数左补0
*
* @param str
* @param strLength
*/
public static String addZeroForNum(String str, int strLength) {
int strLen = str.length();
if (strLen < strLength) {
while (strLen < strLength) {
StringBuffer sb = new StringBuffer();
sb.append("0").append(str);//左补0
// sb.append(str).append("0");//右补0
str = sb.toString();
strLen = str.length();
}
}
return str;
}
可以补“0”也可以补“”
方法2 :需要确定补多少0.
public class P {
public static void main(String[] args){
String pattern="000";
java.text.DecimalFormat df = new java.text.DecimalFormat(pattern);
int i = 10,j=6;
System.out.println("i="+df.format(i)+"\nj="+df.format(j));
}
}
---------------------输出-----------------------
i=010
j=006
方法3:使用正则效率特低, 建议寻找其它方式
/**
* Java里数字转字符串前面自动补0的实现。
*
* @author 老紫竹研究室(laozizhu.com)
*
*/
.public class TestStringFormat {
public static void main(String[] args) {
int youNumber = 1;
// 0 代表前面补充0
// 4 代表长度为4
// d 代表参数为正数型
String str = String.format("%04d", youNumber);
System.out.println(str); // 0001
}
----------
String a = "1A95E2C2A6";
String pattern="0000000000000000";
System.out.println(pattern.substring(0, pattern.length()-a.length())+a);