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
War es hilfreich?

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
scroll top