String字符串补0操作常见方法

时间:2022-06-10 14:28:16
 String前补0

  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);