Go での浮動小数点数の書式設定の最適化
浮動小数点数を文字列に書式設定することは、Go プログラミングの一般的なタスクです。使用可能な 2 つの一般的なメソッド、fmt.Sprintf() と strconv.FormatFloat() があります。この記事では、これらのメソッドの違いを詳しく説明し、特定の要件に基づいて最適な選択をガイドします。
fmt.Sprintf() と strconv.FormatFloat()
fmt.Sprintf() と strconv.FormatFloat() はどちらも Go の基礎となる文字列書式設定ルーチンを利用し、同一の結果を生成します。ただし、各メソッドには独自の長所があります。
丸めとビット サイズControl
strconv.FormatFloat() は、最後の引数を通じて数値の丸めに対する高度な制御を提供します。この引数は、フォーマット関数が入力を扱う浮動小数点値のビット サイズを決定します。たとえば、サンプル コードで 32 を使用すると、関数が入力を float32 値として扱うことを示します。
使用法と例
提供された例では、次のようになります。このコードは、float32 数値を小数点以下 2 桁でフォーマットする方法を示しています。
var fAmt1 float32 = 999.99 var fAmt2 float32 = 222.22 var fResult float32 = float32(int32(fAmt1*100) + int32(fAmt2*100)) / 100 var sResult string = strconv.FormatFloat(float64(fResult), 'f', 2, 32) println("FormatFloat value =" + sResult)
結論
fmt.Sprintf() と strconv.FormatFloat() の違いを理解するGo で浮動小数点数の書式設定を最適化するためには不可欠です。アプリケーションに最適な選択を行うには、必要な精度の変動性と丸め制御の必要性を考慮してください。
以上が浮動小数点数のフォーマットには Go 関数のどちらを使用する必要がありますか? `fmt.Sprintf()` または `strconv.FormatFloat()` ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。