6

.NET (おそらく VB.NET だけ) の String.Format は、{0}、{1}、... を特定の文字列に変換します。次に例を示します。

Dim St As String = "Test: {0}, {1}"
Console.WriteLine(String.Format(St, "Text1", "Text2"))

Google と StackOverflows の両方で検索しようとしましたが、すべて数値文字列形式が返されます。

4

4 に答える 4

8

他の提案は確かに優れていますが、printfより最近 Java に追加されたスタイルとその系譜に近いものです。あなたが投稿したコードは、に触発されたようMessageFormatです。

String format = "Test: {0}, {1}"
System.out.println(MessageFormat.format(format, "Text1", "Text2"))

'Return:ただし、ステートメントが何をしているのかについてはよくわかりません。

于 2011-07-21T00:43:12.167 に答える
6

を使用するMessageFormat.formatと、置換トークンでフォーマット引数を指定することもできます。

message = MessageFormat.format("This is a formatted percentage " +
                "{0,number,percent} and a string {1}", varNumber, varText);
        System.out.println(message);

message = MessageFormat.format("This is a formatted {0, number,#.##} " +
                "and {1, number,#.##} numbers", 25.7575, 75.2525);
        System.out.println(message);

または、String.formatを使用することもできますが、これは位置を保証しませんString.format("What do you get if you multiply %d by %s?", varNumber, varText);

于 2011-07-21T00:40:30.097 に答える
4
String.format("Test: %s, %s",string1,string2)
于 2011-07-21T00:37:34.727 に答える
0
System.out.printf()
System.out.format()

他の方法では、次を使用します。

StringBuilder sb = new StringBuilder();
Formatter f = new Formatter(sb, Locale.US);
f.format("my %s", "string");
于 2011-07-21T00:37:21.113 に答える