I'm doing a report, that I need to join 4 variables in one. If I treat the variables separately I can format them with no problem. But when I merge them into a String, the double value comes as 0.0 instead of 0.00
How can I make it comes as the original, 0.00? The code right now looks like this:
$F{someDoubleField} + "a string" + $F{anotherDoubleField} + "another string"
It prints:
0.0 a string 0.0 another string
instead of:
0.00 a开发者_C百科 string 0.00 another string
Remember that iReport uses Java, so maybe, Java code can help me out.
Use like below:
new DecimalFormat("0.00").format(doubleField) + "str"
Do the next:
- Open Properties window for your report (right-mouse click on top node in tree view -> Properties)
- Set the Language option to Java
Use such code in your text field expression:
String.format("%.2f",$V{Sum}) + " " + $F{unit}
Here
2 - number of digits after dot
$V{Sum} - Double or Floaf variable (or field - $F{...})
use DecimalFormat
here is howto:
double d = 0.00;
NumberFormat nf = new DecimalFormat("0.00");
String format = nf.format(d);
System.out.println(d); //0.00
Perhaps something like:
new DecimalFormat("0.00").format(new java.math.Double(($F{amount} == null) ? 0 : $F{amount}))
精彩评论