如何格式化已解析的字符串?
例如:
ph = "0412456839";
n = Long.parseLong(ph);
当我打印n时,我得到(没有0):
412456839
我想和ph打印一样。我总能做到
System.out.println("0"+n);
但有没有办法格式化呢?
答案 0 :(得分:3)
使用java.util.Formatter
System.out.printf("%010d\n", n);
% 0 10 d
^ ^ ^
| | decimal
| width
zero-pad
如果您需要String
中的输出而不是写入System.out
,请使用
String s = String.format("%010d", n);
答案 1 :(得分:0)
您可以创建DecimalFormat。这将允许您使用自己的格式规则将数字格式化为字符串。在这种情况下,它将其格式化为包含前面零的10位数字。
String ph = "0412456839";
Long n = Long.parseLong(ph);
String formattedN = new DecimalFormat("0000000000").format(n);
System.out.println(formattedN);
如果您使用的是Apache Commons,则可以使用:
int paddingLength = 10;
String paddingCharacter = "0";
StringUtils.leftPad("" + n, paddingLength, paddingCharacter);