2015-01-23 2 views
0

Использование Actuate eReport Designer Professional 9 Service Pack 3 Fix 2Округление Числа в Actuate

Я пытаюсь установить ValueExp свойство текстового элемента управления, чтобы отобразить строку, состоящую из результата деления сцепленной с некоторым статическим текстом. Я хочу, чтобы результат разделения отображался как целое число, если нет остатка. В противном случае, я хочу только 1 десятичное место.

Будет задействована условная логика, но я смогу справиться с этим. Я действительно ищу, используя только Expression Builder, могу ли я форматировать числа. Например, как мне получить выражение, 5/3 & " text" для отображения 1.7 text? Это предположение,

round(5/3, 1) & " text" 

бросило ошибки для «незаконного переменного использования (круглый)» и «оператор не найден для этих типов»

От ответа Доминика, это усилие:

BirtMath.round(5/3, 1) 

привел использование незаконной переменной на BirtMath.

ответ

1

Что, наконец, получил работу было:

Format(5/3, "##.#") & " text" 
2

Попробуйте это:

BirtMath.round(5/3, 1) + " text" 

(протестирован на дизайнера BIRT Eclipse, это должно быть то же самое с Actuate профессиональным дизайнером)

0

Ответ Доминика относится к BIRT, который является совершенно другой технологией/продуктом.

Если вы хотите отобразить числовое значение со специальным форматированием, здесь не лучший выбор для управления текстом. Вместо этого вы должны использовать числовое управление соответствующего типа (например, Double Control) и либо переопределить метод GetText() этого элемента управления для обработки форматирования отображения, либо использовать условное форматирование. Причина, по которой это лучшее решение, заключается в том, что поиск и экспорт данных не будут работать должным образом с помощью Text Control.

Обратите внимание, что вы можете использовать шаблон формата следующим образом: «#, ## 0 \ T \ e \ x \ t» вместо конкатенации строки; этот метод необходим, если вы используете Условное форматирование.

Лично я бы предпочел, чтобы вы использовали условное форматирование, потому что я приложил много усилий для разработки этой функции e.Reports, и я бы хотел, чтобы больше людей использовали ее. :) Но переопределение GetText(), вероятно, проще в вашей конкретной ситуации, из-за необходимости выполнять более сложные манипуляции с строкой, чтобы устранить конечные десятичные числа.

0

Я хочу добавить, что с BIRT, вы также можете отформатировать текст в более «графическому» способом, без необходимости SQL ... в случае, если оно кому-то пригодится ...

Выбрать Объект - Свойства - Номер формата - Вы выбираете формат

Существует множество вариантов для каждого случая и в дополнение к добавлению пользовательского формата.

Конечно, это решение каждого человека как форматировать текст, и всегда хорошо знать, как это делается по-разному!