String_format异常

╰+攻爆jí腚メ 2023-02-11 04:42 328阅读 0赞

背景:

输出的钱的格式需要是千分位分隔,所以采用Stringformat

产生异常的代码如下:

  1. public static void main(String[] args) {
  2. System.out.println(String.format("%1$,d","99999999"));
  3. }

异常信息如下:

  1. Exception in thread "main" java.util.IllegalFormatConversionException: d != java.lang.String
  2. at java.util.Formatter$FormatSpecifier.failConversion(Formatter.java:4302)
  3. at java.util.Formatter$FormatSpecifier.printInteger(Formatter.java:2793)
  4. at java.util.Formatter$FormatSpecifier.print(Formatter.java:2747)
  5. at java.util.Formatter.format(Formatter.java:2526)
  6. at java.util.Formatter.format(Formatter.java:2455)
  7. at java.lang.String.format(String.java:2940)

解决办法:

上面代码中我传入的是字符串"99999999",实际应该传入数值类型就ok。

正确姿势:

  1. public static void main(String[] args) {
  2. System.out.println(String.format("%1$,d","99999999"));
  3. }

正确结果:

  1. 99,999,999

在这里插入图片描述

发表评论

表情:
评论列表 (有 0 条评论,328人围观)

还没有评论,来说两句吧...

相关阅读