Go での千個のカンマを含む整数の書式設定
Go の組み込み fmt.Printf 関数は、千個のカンマを含む整数の出力をネイティブにサポートしていません。ただし、これを実現するにはいくつかの方法があります。
1 つのオプションは、Unicode CLDR でサポートされている言語にローカライズされた書式設定を提供する golang.org/x/text/message パッケージを使用することです。以下に例を示します。
<code class="go">package main import ( "golang.org/x/text/language" "golang.org/x/text/message" ) func main() { p := message.NewPrinter(language.English) p.Printf("%d\n", 1000) // Output: // 1,000 }</code>
このコードでは英語ロケールを使用していますが、必要に応じて他のサポートされているロケールを指定できます。
別のオプションは、次のようなサードパーティ ライブラリを使用することです。 [github.com/AlekSi/decimal](https://github.com/AlekSi/decimal) として。このライブラリは、数千のカンマを追加する機能など、数値をフォーマットするためのさまざまな方法を提供します。次に例を示します。
<code class="go">package main import ( "github.com/AlekSi/decimal" ) func main() { num := decimal.NewFromFloat(1000) str := num.String() fmt.Println(str) // Output: // 1,000 }</code>
最後に、外部ライブラリを使用したくない場合は、数値を自分で手動でフォーマットできます。これは比較的簡単に実行できます。まず、整数を文字列に変換する必要があります。次に、適切な位置にカンマを挿入する必要があります。その方法は次のとおりです:
<code class="go">func fmtComma(n int) string { str := strconv.Itoa(n) formatted := "" for i := len(str); i > 0; i -= 3 { if i == len(str) { formatted = str[:i] } else { formatted = str[i-3:i] + "," + formatted } } return formatted } func main() { fmt.Println(fmtComma(1000)) // Output: // 1,000 }</code>
以上がGo で数千個のカンマを含む整数をフォーマットするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。