Java printf Flags order



在printf中使用标志时,我必须遵循任何特定的顺序吗?

1.System.out.printf("%+04d + %s ", 12, "a");// include sign then pad zeros      
2.System.out.printf("n%04+d + %s ", 12, "a");// pad zeros then include sign    
3.System.out.printf("n%+-4d + %s ", 12, "a");// include sign then left justify 
4.System.out.printf("n%-4+d + %s ", 12, "a");// left justify then include sign 

The answer is: 
+012 + a 
Exception in thread "main" java.util.UnknownFormatConversionException: Conversion = '0'
+12  + a 
Exception in thread "main" java.util.UnknownFormatConversionException: Conversion = '-'     

谢谢。

是的,顺序很重要,这就是为什么你会得到一些组合的异常:

% [flags][width][.precision] conversion-character (square brackets denote optional parameters)

谢谢

最新更新