Format Float in Golang HTML / Vorlage

8

Ich möchte float64 value auf 2 Dezimalstellen in golang html/template say in index.html file formatieren. In .go Datei kann ich wie folgt formatieren:

%Vor%

Aber ich weiß nicht, wie man es in der Vorlage formatiert. Ich verwende gin-gonic/gin framework für das Backend. Jede Hilfe wird geschätzt. Danke.

    
Bhavana 15.12.2016, 08:23
quelle

4 Antworten

12

Sie haben viele Möglichkeiten:

  • Sie können sich entscheiden, die Nummer z. Verwenden Sie fmt.Sprintf() , bevor Sie sie an die Vorlagenausführung übergeben ( n1 )
  • Oder Sie können Ihren eigenen Typ erstellen, indem Sie die Methode String() string nach Ihren Wünschen formatieren. Dies wird von der Vorlagen-Engine überprüft und verwendet ( n2 ).
  • Sie können auch printf direkt und explizit von der Vorlage aufrufen und die benutzerdefinierte Format-Zeichenfolge ( n3 ).
  • verwenden
  • Auch wenn Sie printf direkt aufrufen können, müssen Sie das Format string übergeben. Wenn Sie dies nicht jedes Mal tun möchten, können Sie eine benutzerdefinierte Funktion registrieren, die genau das tut ( n4 )

Siehe dieses Beispiel:

%Vor%

Ausgabe (versuchen Sie es auf dem Go Playground ):

%Vor%     
icza 15.12.2016, 08:39
quelle
2

Sie können ein FuncMap registrieren.

%Vor%

Spielplatz

    
Nadh 15.12.2016 08:47
quelle
2

Verwenden Sie die printf Template-Funktion mit dem "%.2f" format :

%Vor%

Go Playgroung

    
dolmen 01.02.2017 13:41
quelle
-1

Das Problem mit %.2f Formatierung ist, dass es nicht rund, sondern abschneidet.

Ich habe eine dezimale Klasse entwickelt, die auf int64 basiert, um Geld zu handhaben, das Floats, String-Parsing, JSON usw. behandelt.

Es speichert Betrag als 64-Bit-Ganzzahl von Cent. Kann einfach aus Float erstellt oder zurück in Float konvertiert werden.

Praktisch zum Speichern in DB.

Ссылка

%Vor%

Funktioniert gut für meine Schulden-Tracker-App Ссылка

    
Alexander Trakhimenok 05.04.2017 09:01
quelle

Tags und Links