tag ejemplo choose jsp jstl el ceil ceiling

jsp - ejemplo - Techo de un número en JSTL/EL



set tag jstl (2)

El modo de redondeo predeterminado de DecimalFormat que usa <fmt:formatNumber> es RoundingMode.HALF_EVEN . No hay manera de cambiar eso a través de cualquier atributo de etiqueta. Solo agregue 0.5 al valor cuando no sea un entero impar para que se comporte como RoundingMode.CEILING .

<fmt:formatNumber value="${bean.number + (bean.number % 1 == 0 ? 0 : 0.5)}" type="number" pattern="#" />

En JSTL,

<fmt:formatNumber value="${1.6}" type="number" pattern="#"/>

devuelve 2 y lo siguiente

<fmt:formatNumber value="${1.4}" type="number" pattern="#"/>

devuelve 1 y necesito 2 , un techo de un número .

¿Hay una forma directa de lograr esto en JSTL (o la única forma de hacerlo es utilizando una etiqueta personalizada adecuada)?


Prueba este código:

<fmt:formatNumber value="${N+(1-(N%1))%1}" type="number" pattern="#"/>

donde N es el nombre de tu variable.

Saludos