Używanie Go Próbuję znaleźć "najlepszy" sposób na sformatowanie liczby zmiennoprzecinkowej w ciągu znaków. Szukałem przykładów, ale nie mogę znaleźć niczego, co by odpowiadało konkretnie na pytania, które mam. Wszystko, co chcę zrobić, to użyć metody "najlepszej" do sformatowania liczby zmiennoprzecinkowej w łańcuchu. Liczba miejsc dziesiętnych może być różna, ale będzie znana (np. 2 lub 4 lub zero). Oto przykład tego, co chcę osiągnąć. Na podstawie poniższego przykładu należy użyć fmt.Sprintf() lub strconv.FormatFloat() lub coś jeszcze? i jakie jest normalne użycie każdego z nich i różnice między nimi?Jak sformatować liczby zmiennoprzecinkowe na ciąg za pomocą Go
Ja też nie zrozumieć znaczenie przy użyciu 32 lub 64 w następujących składników, które obecnie posiada 32:
strconv.FormatFloat(float64(fResult), 'f', 2, 32)
Przykład:
package main
import (
"fmt"
"strconv"
)
func main() {
var (
fAmt1 float32 = 999.99
fAmt2 float32 = 222.22
)
var fResult float32 = float32(int32(fAmt1*100) +int32(fAmt2*100))/100
var sResult1 string = fmt.Sprintf("%.2f", fResult)
println("Sprintf value = " + sResult1)
var sResult2 string = strconv.FormatFloat(float64(fResult), 'f', 2, 32)
println("FormatFloat value = " + sResult2)
}
Zobacz [Go, Golang, formatFloat: skonwertuj liczbę zmiennoprzecinkową na ciąg] (http://stackoverflow.com/a/19101700/562769). Jest lepsza odpowiedź. –