在添加前导零时格式化带有%h的整数

时间:2013-07-21 02:57:18

标签: java format

我正在尝试使用h格式说明符格式化整数,同时向其添加前导零,如果它小于4位数。如

//crac is int with some value
String formated=String.format("%04h ", carc);//works fine if I use d instead of h but I want h

它给出了以下异常

java.util.FormatFlagsConversionMismatchException: Conversion = h, Flags = 0

但是当我删除前导零时,它没有给出异常,如

String formated=String.format("%4h ", carc);

我如何解决这个问题?虽然我想添加前导零。见Add leading zeros to number  我想使用begray的解决方案,它看起来很完美。

1 个答案:

答案 0 :(得分:0)

您无法使用带有h格式说明符的0标志,无论如何。我会提交错误报告。如果你想真的这样做,你可以使用:

String formatted = String.format("%04d", obj.hashCode());