Convert between float and string
yourbasic.org/golang
3.141592653589793238462643383279 5028841971693993751058209749445923 07816406286208998628034825342117067 9821 48086 5132 823 06647 09384 46 09550 58223 17 25359 4081 2848 1117 4502 8410 2701 9385 21105 55964 46229 48954 9303 81964 4288 10975 66593 34461 284756 48233 78678 31652 71 2019091 456485 66 9234603 48610454326648 2133936 0726024914127 3724587 00660631558 817488 152092096
String to float
Use the strconv.ParseFloat
function to parse a string
as a floating-point number with the precision specified by bitSize
:
32 for float32
, or 64 for float64
.
func ParseFloat(s string, bitSize int) (float64, error)
When bitSize
is 32, the result still has type float64
,
but it will be convertible to float32
without changing its value.
f := "3.14159265"
if s, err := strconv.ParseFloat(f, 32); err == nil {
fmt.Println(s) // 3.1415927410125732
}
if s, err := strconv.ParseFloat(f, 64); err == nil {
fmt.Println(s) // 3.14159265
}
Float to string
Use the fmt.Sprintf
method to format a floating-point number as a string.
s := fmt.Sprintf("%f", 123.456) // s == "123.456000"
Formatting | Description | Verb |
---|---|---|
1.234560e+02 | Scientific notation | %e |
123.456000 | Decimal point, no exponent | %f |
123.46 | Default width, precision 2 | %.2f |
␣␣123.46 | Width 8, precision 2 | %8.2f |
123.456 | Exponent as needed, necessary digits only | %g |