如流水号需要在数字前自动补齐0,至指定位数。
如果已经达到了指定位数,不会补齐,返回原数值。
/**
* 自动补齐位数
* @param length 补齐后的位数
* @param num 待补齐的数值
* @return
*/
public static String pad(int length,long num){
return String.format("%0".concat(String.valueOf(length)).concat("d"), num);
}
数字字符串替换方法
String fileName = "130181";
System.out.println("================ 前补零方法一 =================");
DecimalFormat g1=new DecimalFormat("0000000");
String startZeroStr = g1.format(Integer.valueOf(fileName));
System.out.println("前补零方法一:"+startZeroStr);
System.out.println("================ 前补零方法二,此方法不能对非数字字符串替换,非数字的在最后有方法 =================");
startZeroStr = String.format("%07d",Integer.valueOf(fileName));
System.out.println("前补零方法二:"+startZeroStr);
System.out.println("================ 后补零方法一 =================");
DecimalFormat g2=new DecimalFormat("0.000000");
String endZeroStr = g2.format(Integer.valueOf(fileName));
System.out.println("后补零:"+endZeroStr);
System.out.println("虽然后补零出现这种情况,带有小数点");
System.out.println("比如你要长度要在7位以内,可以这么做");
System.out.println("后补零转变后:"+endZeroStr.replace(".","").substring(0,7));