如何在java中正确格式化一个有2个整数的字符串?

问题描述 投票:0回答:1

我收到一个字符串的形式类似于"%value1% - %value2%区间",我有两个整数,比方说v1,和v2,这两个值必须替代相应的字段和字符串看在最后 "v1 - v2区间 "我试过以下。

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%来代替,我收到的是这样的结果。

你有什么建议吗?谢谢!我收到一个类似于"%value1%-%value2%区间 "形式的字符串,我有两个整数,比如说v1和v2,这两个值有对应的代数。

java string format string-formatting stringbuilder
1个回答
0
投票

使用 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

1
投票

你可以使用指定符将变量插入到字符串中。

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 将被替换为 value1value2.

产出 String.format()

v1 - v2 interval

在这里看到更多。https:/dzone.comarticlesjava-string-format-examples。


0
投票

希望对你有所帮助

    int value1 = 11, value2 =12;
    String formattedString = String.format("%s %d - %d", Locale.getDefault(), value1, value2);
    System.out.println(formattedString);

输出是

en_US 11 - 12
© www.soinside.com 2019 - 2024. All rights reserved.