首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

String前补零

2012-10-10 
String前补0java的String字符串补0或空格?方法一:自己写的方法/**数字不足位数左补0** @param str* @param

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

热点排行