如何在 java 中正确格式化包含 2 个整数的字符串
How to properly format a string with 2 integers in java
我收到一个类似于“%value1% - %value2% interval”的字符串,我有两个整数,比方说 v1 和 v2,这两个值必须替换相应的字段和字符串才能查看最后 "v1 - v2 interval"
我尝试了以下方法:
StringBuilder valueBuilder = new StringBuilder();
valueBuilder.append("%value1% - %value2% interval");
ageBuilder.append(String.format(Locale.getDefault(), "%1$d - %2$d interval", value1, value2))
我无法修改字符串的初始“%value1% - %value2% 间隔”部分!我只能用我收到的那样替换 %value1% 和 %value2%
你有什么建议吗?谢谢!
您可以使用说明符将变量插入到字符串中。
int value1 = 1;
int value2 = 2;
StringBuilder valueBuilder = new StringBuilder();
valueBuilder.append(" ");
ageBuilder.append(String.format(Locale.getDefault(), "v%d - v%d interval", value1, value2))
%d
将替换为 value1
和 value2
。
来自 String.format()
的输出
v1 - v2 interval
在此处查看更多信息:https://dzone.com/articles/java-string-format-examples
希望这对您有所帮助
int value1 = 11, value2 =12;
String formattedString = String.format("%s %d - %d", Locale.getDefault(), value1, value2);
System.out.println(formattedString);
输出是
en_US 11 - 12
使用replace()
方法:
StringBuilder valueBuilder = new StringBuilder();
int v1 = 10;
int v2 = 20;
valueBuilder.append(
"%value1% - %value2% interval"
.replace("%value1%", String.valueOf(v1))
.replace("%value2%", String.valueOf(v2))
);
System.out.println(valueBuilder);
输出:
10 - 20 interval
我收到一个类似于“%value1% - %value2% interval”的字符串,我有两个整数,比方说 v1 和 v2,这两个值必须替换相应的字段和字符串才能查看最后 "v1 - v2 interval" 我尝试了以下方法:
StringBuilder valueBuilder = new StringBuilder();
valueBuilder.append("%value1% - %value2% interval");
ageBuilder.append(String.format(Locale.getDefault(), "%1$d - %2$d interval", value1, value2))
我无法修改字符串的初始“%value1% - %value2% 间隔”部分!我只能用我收到的那样替换 %value1% 和 %value2%
你有什么建议吗?谢谢!
您可以使用说明符将变量插入到字符串中。
int value1 = 1;
int value2 = 2;
StringBuilder valueBuilder = new StringBuilder();
valueBuilder.append(" ");
ageBuilder.append(String.format(Locale.getDefault(), "v%d - v%d interval", value1, value2))
%d
将替换为 value1
和 value2
。
来自 String.format()
的输出
v1 - v2 interval
在此处查看更多信息:https://dzone.com/articles/java-string-format-examples
希望这对您有所帮助
int value1 = 11, value2 =12;
String formattedString = String.format("%s %d - %d", Locale.getDefault(), value1, value2);
System.out.println(formattedString);
输出是
en_US 11 - 12
使用replace()
方法:
StringBuilder valueBuilder = new StringBuilder();
int v1 = 10;
int v2 = 20;
valueBuilder.append(
"%value1% - %value2% interval"
.replace("%value1%", String.valueOf(v1))
.replace("%value2%", String.valueOf(v2))
);
System.out.println(valueBuilder);
输出:
10 - 20 interval