github.com/shogo82148/std@v1.22.1-0.20240327122250-4e474527810c/strconv/ftoa.go (about) 1 // Copyright 2009 The Go Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 // Binary to decimal floating point conversion. 6 // Algorithm: 7 // 1) store mantissa in multiprecision decimal 8 // 2) shift decimal by exponent 9 // 3) read digits out & format 10 11 package strconv 12 13 // FormatFloatは、浮動小数点数fを、フォーマットfmtと精度precに従って文字列に変換します。 14 // それは、元の値がbitSizeビット(float32の場合は32、float64の場合は64)の浮動小数点値から得られたものと仮定して、 15 // 結果を四捨五入します。 16 // 17 // フォーマットfmtは、次のいずれかです。 18 // 'b' (-ddddp±ddd、2進指数表記), 19 // 'e' (-d.dddde±dd、10進指数表記), 20 // 'E' (-d.ddddE±dd、10進指数表記), 21 // 'f' (-ddd.dddd、指数なし), 22 // 'g' (指数が大きい場合は'e'、そうでない場合は'f'), 23 // 'G' (指数が大きい場合は'E'、そうでない場合は'f'), 24 // 'x' (-0xd.ddddp±ddd、16進数の小数部と2進指数表記), または 25 // 'X' (-0Xd.ddddP±ddd、16進数の小数部と2進指数表記)。 26 // 27 // 精度precは、'e'、'E'、'f'、'g'、'G'、'x'、および'X'フォーマットによって出力される指数を除く桁数を制御します。 28 // 'e'、'E'、'f'、'x'、および'X'の場合、小数点以下の桁数です。 29 // 'g'および'G'の場合、最大有効桁数です(末尾のゼロは削除されます)。 30 // 特別な精度-1は、ParseFloatがfを正確に返すために必要な最小桁数を使用します。 31 func FormatFloat(f float64, fmt byte, prec, bitSize int) string 32 33 // AppendFloatは、FormatFloatによって生成された浮動小数点数fの文字列形式をdstに追加し、拡張されたバッファを返します。 34 func AppendFloat(dst []byte, f float64, fmt byte, prec, bitSize int) []byte