BigDecimal mit 2 Bruchteil nach dem Dezimalpunkt?
Ich würde gerne eine BigDecimal-formatiert mit 2 Dezimalstellen nach dem Komma. Immer.
Basierend auf einigen boolean prüft, habe ich manchmal bringt ein BigDecimal.NULL;
In diesem Fall werden die JSF-Seite nur "0" angezeigt, obwohl ich eingestellt <f:convertNumber minFractionDigits="2" maxFractionDigits="2"/>
.
Ich versteh das nicht, aber trotzdem, wie kann ich erzwingen 2 Ziffern sonst?
InformationsquelleAutor membersound | 2012-02-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
gibt es 2 Möglichkeiten, dies zu tun
können Sie mit dem eingebauten
BigDecimal
FunktionDiese gibt eine große decmial mit 2 stellen nach dem dezimal-und auch rundet.(es gibt auch andere Rundung Methoden)
ODER
könnten Sie jsf convertNumber Tag
setScale
kümmern. Nur mit derconvertNumber
nicht.ja toll, das funktioniert null: BigDecimal.NULL.SetScale(2, RoundingMode.HALF_UP); ...was wirklich seltsam ist: die jsf-convertNumber-tag funktioniert NICHT auf BigDecimal.NULL. Keine Möglichkeit ???
Sie haben in der Tat sehr vorsichtig sein in Bezug auf Verrundung. Die Konvertierung von einer Anzahl tag hat der Rundung, aber es scheint zu verwenden, RoundingMode HALF_EVEN. Daher wird es rund 1.115 auf 1.12, aber auch 1.125 geworden 1.12 docs.oracle.com/javase/6/docs/api/java/math/...
ich glaube, der Grund, dass
convertNumber
funktioniert nicht fürBigDecimal.ZERO
ist, weil es eine statische.InformationsquelleAutor phanneman
Versuchen, die Formatierung der Zahl wie diese:
Hinweis: Bitte achten Sie auch auf die Warnungen in Bezug auf auf-und Abrundungen in der akzeptierten Antwort.
Ich habe getestet, diese vor der Veröffentlichung und es funktioniert für BigDecimal.NULL, auch. Ich habe verwendet, JSF2 und tomcat 7.
Das ist wirklich seltsam. Ich benutze eine Methode, um die Null zurück:
class myBean() { public BigDecimal getAmount() {return BigDecimal.ZERO; }}
...könnten Sie prüfen, ob es nicht auch für Sie arbeiten, wenn Sie sich mitvalue="#{myBean.getAmount()}"
?Das ist wirklich seltsam. Es funktioniert nicht mit JSF2 + JBoss AS7. Können Sie bestätigen, das folgenden code wirklich funktioniert für Sie?
private BigDecimal tmp = BigDecimal.ZERO; <h:outputText value=" #{service.tmp}"> <f:convertNumber pattern="0.00" /> </h:outputText>
...dann habe ich einen Blick in tomcat, ob das problem server-bezogene...InformationsquelleAutor Thomas
Ausprobieren
InformationsquelleAutor ibrahimgunes