タグ付けされた質問 「string-formatting」

一般に、任意の数のさまざまなデータ型を文字列に表示するためのいくつかのメソッドを指します。


16
文字列のフォーマット:%と.format
Python 2.6では、str.format()既存の%演算子とは構文が少し異なるメソッドが導入されました。どちらがより適切で、どのような状況に適していますか? 以下はそれぞれの方法を使用し、同じ結果をもたらすので、違いは何ですか? #!/usr/bin/python sub1 = "python string!" sub2 = "an arg" a = "i am a %s" % sub1 b = "i am a {0}".format(sub1) c = "with %(kwarg)s!" % {'kwarg':sub2} d = "with {kwarg}!".format(kwarg=sub2) print a # "i am a python string!" print b # "i am a …




5
印刷せずにGo文字列をフォーマットしますか?
文字列を印刷せずにGoで文字列をフォーマットする簡単な方法はありますか? できます: bar := "bar" fmt.Printf("foo: %s", bar) しかし、私はそれをさらに操作できるように、印刷するのではなく、フォーマットされた文字列を返したいのです。 次のようなこともできます: s := "foo: " + bar しかし、これはフォーマット文字列が複雑な場合は読みにくくなり、1つまたは多くの部分が文字列ではなく、最初に変換する必要がある場合は扱いにくくなります。 i := 25 s := "foo: " + strconv.Itoa(i) これを行う簡単な方法はありますか?

16
文字列形式を使用して2桁までの小数または単純な整数を表示する
表示する価格フィールドがあり、100または100.99または100.9のいずれかになる場合があります。たとえば、価格に小数が入力されている場合にのみ、小数点以下2桁で価格を表示します。 100.00ではなく100を表示し、価格が100.2の場合、100.22も同様に100.20を表示する必要があります。私はググっていくつかの例に出くわしましたが、それらは私が望んでいたものと正確には一致しませんでした: // just two decimal places String.Format("{0:0.00}", 123.4567); // "123.46" String.Format("{0:0.00}", 123.4); // "123.40" String.Format("{0:0.00}", 123.0); // "123.00"



13
パフォーマンスが重要な場合、JavaのString.format()を使用する必要がありますか?
ログ出力などのために、常に文字列を構築する必要があります。JDKバージョンでStringBufferは、(多くの追加、スレッドセーフ)とStringBuilder(多くの追加、非スレッドセーフ)をいつ使用するかを学びました。 使用についてのアドバイスは何String.format()ですか?それは効率的ですか、またはパフォーマンスが重要なワンライナーの連結に固執する必要がありますか? 例えば醜い古いスタイル、 String s = "What do you get if you multiply " + varSix + " by " + varNine + "?"; 整頓された新しいスタイル(String.format、おそらく遅い)、 String s = String.format("What do you get if you multiply %d by %d?", varSix, varNine); 注:私の具体的な使用例は、コード全体で何百もの「ワンライナー」ログ文字列です。彼らはループを含まないので、StringBuilderヘビー級です。String.format()特に興味があります。

6
Kotlin文字列テンプレートでのフォーマット
Kotlinには、文字列テンプレートと呼ばれる優れた機能があります。私はそれを本当に愛しています。 val i = 10 val s = "i = $i" // evaluates to "i = 10" しかし、テンプレートに書式を設定することは可能ですか?たとえば、kotlinの文字列テンプレートでDoubleをフォーマットしたいのですが、少なくとも小数点の後に桁数を設定します。 val pi = 3.14159265358979323 val s = "pi = $pi??" // How to make it "pi = 3.14"?



19
文字列フォーマットの名前付きプレースホルダー
Pythonでは、文字列をフォーマットするときに、次のように、位置ではなく名前でプレースホルダーを埋めることができます。 print "There's an incorrect value '%(value)s' in column # %(column)d" % \ { 'value': x, 'column': y } 私はそれがJavaで可能であれば(おそらく、外部ライブラリなしで)可能ですか?


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.