Форматирование Double в строку в iReport - PullRequest
2 голосов
/ 28 января 2011

Я делаю отчет, что мне нужно объединить 4 переменные в одну. Если я рассматриваю переменные отдельно, я могу отформатировать их без проблем. Но когда я объединяю их в строку, двойное значение появляется как 0.0 вместо 0.00

Как я могу сделать так, чтобы это было как оригинал, 0.00? Код сейчас выглядит так:

$F{someDoubleField} + "a string" + $F{anotherDoubleField} + "another string"

Он печатает:

0.0 a string 0.0 another string

вместо:

0.00 a string 0.00 another string

Помните, что iReport использует Java, поэтому, возможно, код Java поможет мне.

Ответы [ 4 ]

7 голосов
/ 28 января 2011

Используйте как показано ниже:

new DecimalFormat("0.00").format(doubleField) + "str"
2 голосов
/ 07 августа 2015

Сделайте следующее:

  1. Открыть окно свойств для вашего отчета (щелчок правой кнопкой мыши вверху) узел в виде дерева -> Свойства )
  2. Установите для параметра Язык значение Java
  3. Используйте такой код в выражении вашего текстового поля:

     String.format("%.2f",$V{Sum}) + " " + $F{unit} 

    Здесь

    2 - количество цифр после точки
    $ V {Sum} - переменная типа Double или Floaf (или поле - $ F {...})

0 голосов
/ 02 февраля 2011

Возможно что-то вроде:

новый формат DecimalFormat ("0,00"). (Новый java.math.Double (($ F {amount} == null)? 0: $ F {amount}))

0 голосов
/ 28 января 2011

использовать десятичный формат

вот как:

double d = 0.00;

NumberFormat nf = new DecimalFormat("0.00");
String format = nf.format(d);

System.out.println(d); //0.00
...