Das Problem mit %.2f
Formatierung ist, dass es nicht rund, sondern Verkürzungen der Fall ist.
Ich habe eine Dezimalzahl Klasse basierend auf int64 entwickelt Geld für die Handhabung, den Schwimmer, String-Parsing, JSON etc.
Es speichert Menge als 64-Bit-Integer-Zahl von Cent verarbeitet. Kann einfach aus Float erstellt oder zurück in Float konvertiert werden.
Praktisch für die Speicherung im DB.
https://github.com/strongo/decimal
package example
import "github.com/strongo/decimal"
func Example() {
var amount decimal.Decimal64p2; print(amount) // 0
amount = decimal.NewDecimal64p2(0, 43); print(amount) // 0.43
amount = decimal.NewDecimal64p2(1, 43); print(amount) // 1.43
amount = decimal.NewDecimal64p2FromFloat64(23.100001); print(amount) // 23.10
amount, _ = decimal.ParseDecimal64p2("2.34"); print(amount) // 2.34
amount, _ = decimal.ParseDecimal64p2("-3.42"); print(amount) // -3.42
}
funktioniert gut für meine Schulden Tracker App https://debtstracker.io/
Danke für die Hilfe. Aber wie kann ich in der Vorlage selbst formatieren? Gibt es eine Möglichkeit zu formatieren?Oder muss ich auch benutzerdefinierten Typ an die Vorlage mit anderen Daten übergeben? Bitte helfen Sie. – Bhavana
@ user29 Siehe den 'n4' Fall: eine" reine "Zahl vom Typ' float64' wird übergeben ('3.1415'), und es wird in der tempalte formatiert:' {{printf "% .2f" .n4}} ' . – icza
Okay .. Vielen Dank .. – Bhavana