2015-03-30 3 views
0

Я должен показать разницу между двумя числами как в цифровом формате, так и в процентной строке в одном поле таким образом (разность) (разница в%). Отображается разница в числовом формате, но когда я делаю type="percentage", то он не отображается в процентах. Почему? Мой кодJSTL formatnumber tag не применяется процентный тип

это-
<td scope="row" style="${r.st1_vs1_bag2_rb-row.st1_vs1_bag2_rb eq 0 ? 'background-color: lime':'background-color: pink'}"> 
<c:choose><c:when test="${(r.st1_vs1_bag2_rb-row.st1_vs1_bag2_rb) ne 0}"> 
<fmt:formatNumber value="${(r.st1_vs1_bag2_rb-row.st1_vs1_bag2_rb)}" maxFractionDigits="2" minIntegerDigits="2" pattern="##.##E0" var="mm" type="percent"></fmt:formatNumber> 
${(mm)} 
</c:when> 
<c:otherwise> 
${(r.st1_vs1_bag2_rb-row.st1_vs1_bag2_rb)}</c:otherwise></c:choose></td> 

ответ

1

Там может быть две вещи происходит.

1) С помощью formatNumber вам нужно сделать выбор: либо использовать TYPE, либо использовать PATTERN, но не использовать оба одновременно. Если вы это сделаете, PATTERN будет иметь приоритет (он будет использоваться, и TYPE будет проигнорирован). Так что, если вы решите использовать TYPE, изменить код, чтобы что-то вроде:

<fmt:formatNumber value="${(r.st1_vs1_bag2_rb-row.st1_vs1_bag2_rb)}" maxFractionDigits="2" minIntegerDigits="2" var="mm" type="percent"/> 

я просто удалил ОБРАЗЕЦ.

Или, если вы решили использовать ОБРАЗЕЦ то попробуйте (это зависит от характера стоимости вы подачи):

<fmt:formatNumber value="${(r.st1_vs1_bag2_rb-row.st1_vs1_bag2_rb)}" pattern="##.##" var="mm"/> 

2) Во-вторых, я заметил, вы вывода переменной «мм» с $ {(мм)}. Я предполагаю, что он позволяет интерпретировать значение, которое вы подаете в $ {..} как число, обрабатывая его как таковое и преобразовывая его в строку, которая может привести к ее потере формата.

В любом случае, убедитесь, что вы изменили, что:

${mm} 

Примечание: Если вы можете предоставить пример исходного значения передается в FormatNumber, мы можем легко помочь. Например, что это отображает без форматирования?

${(r.st1_vs1_bag2_rb-row.st1_vs1_bag2_rb)} 
+0

, благодаря .а есть ли способ, с помощью, как я могу считать, что процент в скобках т.е. (% VALUE) для этого только я (мм), но он не работал –

+1

Вы хотите скобку на внешней стороне например: ($ {mm}) – alfreema

+1

Материал внутри $ {} получает intepreted как часть формулы. Вещи снаружи $ {} будут буквально напечатаны на экране. – alfreema

Смежные вопросы