开发者

Formatting Double into a String in iReport

开发者 https://www.devze.com 2023-02-07 02:47 出处:网络
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.

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:

  1. Open Properties window for your report (right-mouse click on top node in tree view -> Properties)
  2. Set the Language option to Java
  3. 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}))

0

精彩评论

暂无评论...
验证码 换一张
取 消