strconv: clarify "g" and "G" precision in the docs

Fix the wording in "strconv" and "fmt" to make explicit
that the "g" and "G" formats remove trailing zeroes.

Fixes #25082

Change-Id: I2e2ad0a98d2ea27a3a8a006a0563b366f7a3b71b
Reviewed-on: https://go-review.googlesource.com/127135
Reviewed-by: Rob Pike <r@golang.org>
This commit is contained in:
Daniela Petruzalek 2018-08-01 00:19:55 +00:00 committed by Rob Pike
parent b7d3f4c0b2
commit 6b9c782f9f
2 changed files with 9 additions and 7 deletions

View file

@ -97,10 +97,11 @@
For floating-point values, width sets the minimum width of the field and
precision sets the number of places after the decimal, if appropriate,
except that for %g/%G precision sets the total number of significant
digits. For example, given 12.345 the format %6.3f prints 12.345 while
%.3g prints 12.3. The default precision for %e, %f and %#g is 6; for %g it
is the smallest number of digits necessary to identify the value uniquely.
except that for %g/%G precision sets the maximum number of significant
digits (trailing zeros are removed). For example, given 12.345 the format
%6.3f prints 12.345 while %.3g prints 12.3. The default precision for %e, %f
and %#g is 6; for %g it is the smallest number of digits necessary to identify
the value uniquely.
For complex numbers, the width and precision apply to the two
components independently and the result is parenthesized, so %f applied

View file

@ -35,10 +35,11 @@ var float64info = floatInfo{52, 11, -1023}
// 'g' ('e' for large exponents, 'f' otherwise), or
// 'G' ('E' for large exponents, 'f' otherwise).
//
// The precision prec controls the number of digits
// (excluding the exponent) printed by the 'e', 'E', 'f', 'g', and 'G' formats.
// The precision prec controls the number of digits (excluding the exponent)
// printed by the 'e', 'E', 'f', 'g', and 'G' formats.
// For 'e', 'E', and 'f' it is the number of digits after the decimal point.
// For 'g' and 'G' it is the total number of digits.
// For 'g' and 'G' it is the maximum number of significant digits (trailing
// zeros are removed).
// The special precision -1 uses the smallest number of digits
// necessary such that ParseFloat will return f exactly.
func FormatFloat(f float64, fmt byte, prec, bitSize int) string {