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