Java:数字到六位数的字符串操作
案例1如果编号为123,结果:000123Java:数字到六位数的字符串操作,java,string,format,character,Java,String,Format,Character,案例1如果编号为123,结果:000123 案例2如果编号为00123123结果:123123 案例3如果编号为10231239,则结果为:10231239 案例4如果编号为01231239结果:1239 我所尝试的是贝娄,但需要更好的解决方案 public static void main(String[] args) { String number = "0023213"; number = number.trim(); String result; if(n
案例2如果编号为00123123结果:123123
案例3如果编号为10231239,则结果为:10231239
案例4如果编号为01231239结果:1239 我所尝试的是贝娄,但需要更好的解决方案
public static void main(String[] args)
{
String number = "0023213";
number = number.trim();
String result;
if(number.length() < 6)
{
result = String.format("%06d", Integer.parseInt(number));
System.out.println(result);
}
else if (number.trim().length()>6)
{
result = number.replaceFirst("^0+(?!$)", "");
result = String.format("%06d", Integer.parseInt(result));
System.out.println(result);
}
}
publicstaticvoidmain(字符串[]args)
{
字符串编号=“0023213”;
number=number.trim();
字符串结果;
if(number.length()<6)
{
结果=String.format(“%06d”,Integer.parseInt(number));
系统输出打印项次(结果);
}
否则如果(number.trim().length()>6)
{
结果=number.replaceFirst(“^0+(?!$)”,”);
结果=String.format(“%06d”,Integer.parseInt(结果));
系统输出打印项次(结果);
}
}
这一部分适用于您(其他部分的代码)。只要前导零后面有6位数字,就删除前导零
public static void main(String[] args) {
String s = "0023123";
System.out.println(s.replaceAll("^0+(?=\\d{6})", ""));
}
O/p
样本输入:00000110023123
示例输出:110023123只需使用Apache公共语言库:
String str = "1123456";
str = StringUtils.leftPad(StringUtils.stripStart(str, "0"), 6, "0");
我认为这更具可读性 所以你要做的就是删除开头的0?这不仅仅是删除开头的0,还要通过添加前导0来保持它的六位数,如果数字像1231235,那么它必须是相同的,如果数字像01123123,那么结果必须是1123123
String str = "1123456";
str = StringUtils.leftPad(StringUtils.stripStart(str, "0"), 6, "0");