MessageFormat -Formatierungsmusterabfrage
-
28-10-2019 - |
Frage
Ich verwende die DisplayTag -Tabellenbibliothek, um meine Tabellen zu rendern, damit die Option zum Angeben von MessageFormat -Mustern für die Daten verwendet wird. Ich fällt mir schwer, die folgenden Formate des richtigen Formats zu finden, die ich zu schreiben versuche, zu schreiben
1. given a double print its currency representation without decimal points e.g 25.25 as $25
2. if a negative double is given it must print -$25 currently its printing ($25)
3. if double is 0.00 the it should not be printed
Lösung
Das Muster "\u00A4#;-\u00A4#"
Erfüllt Ihre ersten beiden Anforderungen. Der dritte, Afaik, kann nicht mit einem einfachen Muster zufrieden sein.
Sie können eine einfache Menge.TAG -Datei verwenden, die Folgendes ausführt:
<c:if test="${value != 0}>
<fmt:formatNumber value="${value}" pattern="\u00A4#;-\u00A4#"/>
</c:if>
Beachten Sie, dass das Anzeigen von nichts für 0 etwas seltsam ist, da jeder Wert zwischen 0 und 0,5 aufgrund von Rundung ohnehin mit 0 US -Dollar angezeigt wird.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow