如何在 java 中使用 String.format()
How to use String.format() in java
我想在 java 中创建一个字符串,其前缀大小如下
String x = "PIPPO "; //21 character
如何获取前缀大小为space的字符串?
我已经构建了这段代码,但出现错误
String ragioneSociale =String.format("%21c%n", myString);
您收到的消息是
Exception in thread "main" java.util.IllegalFormatConversionException: c != java.lang.String
因为"c"是字符的格式规范
你必须使用 "s" 因为你想要一个字符串:
String ragioneSociale =String.format("%-21s%n", myString);
并且因为您希望它左对齐,所以您必须添加一个减号。
有关详细信息,请参阅格式化程序的 documentation。
这里:
String ragioneSociale =String.format("%21c%n", myString);
c
是错误的格式说明符。你想要: s
相反。来自 javadoc:
's', 'S' general If the argument arg is null, then the result is "null". If arg implements Formattable, then arg.formatTo is invoked. Otherwise, the result is obtained by invoking arg.toString().
'c', 'C' character The result is a Unicode character
并且由于您提供的参数是 String,而不是字符 c
无法工作。
以及与空格对齐;改用“%1$-21s”作为格式。
你可以右填充你的字符串吗?
String x = "PIPPO";
String xRightPadded = String.format("%1$-21s", x);
更多信息可以在这里找到:How can I pad a String in Java?
我想在 java 中创建一个字符串,其前缀大小如下
String x = "PIPPO "; //21 character
如何获取前缀大小为space的字符串?
我已经构建了这段代码,但出现错误
String ragioneSociale =String.format("%21c%n", myString);
您收到的消息是
Exception in thread "main" java.util.IllegalFormatConversionException: c != java.lang.String
因为"c"是字符的格式规范
你必须使用 "s" 因为你想要一个字符串:
String ragioneSociale =String.format("%-21s%n", myString);
并且因为您希望它左对齐,所以您必须添加一个减号。
有关详细信息,请参阅格式化程序的 documentation。
这里:
String ragioneSociale =String.format("%21c%n", myString);
c
是错误的格式说明符。你想要: s
相反。来自 javadoc:
's', 'S' general If the argument arg is null, then the result is "null". If arg implements Formattable, then arg.formatTo is invoked. Otherwise, the result is obtained by invoking arg.toString().
'c', 'C' character The result is a Unicode character
并且由于您提供的参数是 String,而不是字符 c
无法工作。
以及与空格对齐;改用“%1$-21s”作为格式。
你可以右填充你的字符串吗?
String x = "PIPPO";
String xRightPadded = String.format("%1$-21s", x);
更多信息可以在这里找到:How can I pad a String in Java?