我想在打印时格式化我的号码。我正在使用
private static DecimalFormat formatter = new DecimalFormat("#00");
事情就是打印
-01
05
我想要打印
-1
05
或
-01
05
有没有办法在不使用if语句的情况下执行此操作?
答案 0 :(得分:4)
嗯,显然你可以提供两种格式,一种用于正数,一种用于负数。 See here
所以你应该使用
DecimalFormat formatter = new DecimalFormat("#00;#0");
答案 1 :(得分:0)
你要求DecimalFormat做的比它更多。它只格式化数字,如果您希望将该数字进一步格式化为 String ,则需要将其与“String”组合Formatter
({ {3}})。
Formatter formatter = new Formatter(System.out);
DecimalFormat numFormatter = new DecimalFormat("#00");
formatter.format("%3s\n", numFormatter.format(-3));
formatter.format("%3s\n", numFormatter.format(11));
formatter.format("%3s\n", numFormatter.format(2));
输出
-03
11
02
请注意,字符串格式化程序将所有字符串对齐为三个字符宽。如果你输入一个大于三个字符的值,那么它会溢出[宽度] 3(这可能是你想要的)。