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