ホームページ  >  記事  >  バックエンド開発  >  Go で浮動小数点数をフォーマットする方法: fmt.Sprintf() と strconv.FormatFloat()

Go で浮動小数点数をフォーマットする方法: fmt.Sprintf() と strconv.FormatFloat()

DDD
DDDオリジナル
2024-11-08 20:04:02691ブラウズ

How to Format Floating Point Numbers in Go: fmt.Sprintf() vs. strconv.FormatFloat()?

Go での浮動小数点数の書式設定

Go では、浮動小数点数を文字列に変換する方法がいくつかあります。一般的な選択肢には、fmt.Sprintf() と strconv.FormatFloat() の 2 つがあります。それぞれのアプローチには微妙な違いがありますが、最終的には同じ基礎となる文字列書式設定メカニズムを利用します。

適切な方法の選択

fmt.Sprintf() と strconv.FormatFloat() のどちらを使用するかを決定するときは、以下:

  • 精度柔軟性: 小数点以下の桁数を動的に変更する必要がある場合は、それに応じて調整できる精度パラメーターを受け入れる strconv.FormatFloat() の方が便利です。

使用法と違い

fmt.Sprintf()

構文:

func Sprintf(format string, a ...interface{}) string

使用法:

fResult := 123.456
sResult := fmt.Sprintf("%.2f", fResult) // Format the number to two decimal places

s trconv.FormatFloat()

構文:

func FormatFloat(f float64, fmt byte, prec, bitSize int) string

使用法:

fResult := float64(123.456)
sResult := strconv.FormatFloat(fResult, 'f', 2, 32) // Format the number to two decimal places, assuming it's a float64

意味strconv.FormatFloat()

の bitSize strconv.FormatFloat() の bitSize パラメータは、丸めの実行方法を制御します。元の浮動小数点値が指定されたビット サイズ (float32 の場合は 32、float64 の場合は 64) を持っていると想定します。正しい bitSize を指定すると、丸め動作が入力の実際のデータ型に合わせて最適化されます。

以上がGo で浮動小数点数をフォーマットする方法: fmt.Sprintf() と strconv.FormatFloat()の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。