Wie Sie angeben, RoundingMode für dezimal-zahlen in Jasper Reports
Bin ich mit Java mit Jasper Reports und würde gerne format ein decimal-Wert mit diesem format Maske "#,##0.00"
. Auf den ersten Blick sieht alles in Ordnung, aber ich fand, dass mein dezimal Werte sind gerundet mit RoundingMode.HALF_EVEN
Rundung-Modus und das ist nicht das richtige in meinem Fall.
Ist dies möglich, die Angabe einer anderen Rundung-Modus (ich muss HALF_DOWN
- Modus)?
- Sie können scriptlet. Oder Sie können die
net.sf.jasperreports.engine.util.Java15BigDecimalHandler
- Klasse - Überprüfen Sie in diesem thread @mauretto stackoverflow.com/questions/7851492/...
- Lesen Sie Wie kann ich die set-Anzahl-format mit benutzerdefinierten Gruppierung und Dezimaltrennzeichen für das erste Beispiel wie die scriptlet
- Jasper-Reports machen die Abfrage und Es sollte formatieren Sie den decimal-Wert. Ich brauche, um das setup der jrxml Rundungen in HALF_DOWN-Modus. Wie kann ich es tun?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie die scriptlets Mechanismus.
Die Probe
Eine andere Lösung
Andere Möglichkeit ist die Verwendung BigDecimal.setScale(int, java.math.RoundingMode) - Methode (für Doppel - Feld):
oder einfach nur (für BigDecimal Feld):
Weitere Infos über die scriptlets in JR: Scriptlets
Hier ist eine andere Lösung.
Können Sie ändern Sie die Standardeinstellung der Anzahl formatter, durch die Verlängerung der Standard-JR-format factory (net.sf.jasperreports.Motor.util.DefaultFormatFactory) und senden Sie eine Instanz des erweiterten Werk über den JRParameter.REPORT_FORMAT_FACTORY parameter.
Das rundungsverhalten von java.text.DecimalFormat Instanz geändert werden kann über die setRoundingMode () - Methode.
https://community.jaspersoft.com/questions/528989/decimal-formatting-rounding-mode-problem
Habe ich die innere Klasse: