JSTL - Etiqueta de núcleo <fmt: formatNumber>
los <fmt:formatNumber> la etiqueta se usa para formatear numbers, percentages, y currencies.
Atributo
los <fmt:formatNumber> La etiqueta tiene los siguientes atributos:
Atributo | Descripción | Necesario | Defecto |
---|---|---|---|
Valor | Valor numérico para mostrar | si | Ninguna |
tipo | NUMBER, CURRENCY o PERCENT | No | Número |
patrón | Especifique un patrón de formato personalizado para la salida. | No | Ninguna |
código de moneda | Código de moneda (para tipo = "moneda") | No | Desde la configuración regional predeterminada |
símbolo de moneda | Símbolo de moneda (para tipo = "moneda") | No | Desde la configuración regional predeterminada |
agrupaciónUsada | Ya sea para agrupar números (VERDADERO o FALSO) | No | cierto |
maxIntegerDigits | Número máximo de dígitos enteros para imprimir | No | Ninguna |
minIntegerDigits | Número mínimo de dígitos enteros para imprimir | No | Ninguna |
maxFractionDigits | Número máximo de dígitos fraccionarios para imprimir | No | Ninguna |
minFractionDigits | Número mínimo de dígitos fraccionarios para imprimir | No | Ninguna |
var | Nombre de la variable para almacenar el número formateado | No | Imprimir en página |
alcance | Alcance de la variable para almacenar el número formateado | No | página |
Si el atributo de tipo es porcentaje o número, puede utilizar varios atributos de formato de número. losmaxIntegerDigits y minIntegerDigitsLos atributos le permiten especificar el tamaño de la parte no fraccional del número. Si el número real excedemaxIntegerDigits, entonces el número se trunca.
También se proporcionan atributos para permitirle determinar cuántos lugares decimales deben usarse. losminFractionalDigits y maxFractionalDigitsLos atributos le permiten especificar el número de decimales. Si el número excede el número máximo de dígitos fraccionarios, el número se redondeará.
La agrupación se puede utilizar para insertar comas entre miles de grupos. La agrupación se especifica configurando elgroupingIsUsedatribuir a verdadero o falso. Cuando se utiliza la agrupación conminIntegerDigits, debe tener cuidado de obtener el resultado deseado.
Puede seleccionar utilizar el atributo de patrón. Este atributo le permite incluir caracteres especiales que especifican cómo le gustaría codificar su número. La siguiente tabla enumera los códigos.
S.No. | Símbolo y descripción |
---|---|
1 | 0 Representa un dígito. |
2 | E Representa en forma exponencial. |
3 | # Representa un dígito; muestra 0 como ausente. |
4 | . Sirve como marcador de posición para un separador decimal. |
5 | , Sirve como marcador de posición para un separador de agrupación. |
6 | ; Separa formatos. |
7 | - Se utiliza como prefijo negativo predeterminado. |
8 | % Se multiplica por 100 y se muestra como porcentaje. |
9 | ? Se multiplica por 1000 y se muestra por mil. |
10 | ¤ Representa el signo de moneda; reemplazado por un símbolo de moneda activo. |
11 | X Indica que se pueden utilizar otros caracteres en el prefijo o sufijo. |
12 | ' Se utiliza para citar caracteres especiales en un prefijo o sufijo. |
Ejemplo
<%@ taglib prefix = "c" uri = "http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix = "fmt" uri = "http://java.sun.com/jsp/jstl/fmt" %>
<html>
<head>
<title>JSTL fmt:formatNumber Tag</title>
</head>
<body>
<h3>Number Format:</h3>
<c:set var = "balance" value = "120000.2309" />
<p>Formatted Number (1): <fmt:formatNumber value = "${balance}"
type = "currency"/></p>
<p>Formatted Number (2): <fmt:formatNumber type = "number"
maxIntegerDigits = "3" value = "${balance}" /></p>
<p>Formatted Number (3): <fmt:formatNumber type = "number"
maxFractionDigits = "3" value = "${balance}" /></p>
<p>Formatted Number (4): <fmt:formatNumber type = "number"
groupingUsed = "false" value = "${balance}" /></p>
<p>Formatted Number (5): <fmt:formatNumber type = "percent"
maxIntegerDigits="3" value = "${balance}" /></p>
<p>Formatted Number (6): <fmt:formatNumber type = "percent"
minFractionDigits = "10" value = "${balance}" /></p>
<p>Formatted Number (7): <fmt:formatNumber type = "percent"
maxIntegerDigits = "3" value = "${balance}" /></p>
<p>Formatted Number (8): <fmt:formatNumber type = "number"
pattern = "###.###E0" value = "${balance}" /></p>
<p>Currency in USA :
<fmt:setLocale value = "en_US"/>
<fmt:formatNumber value = "${balance}" type = "currency"/>
</p>
</body>
</html>
El código anterior generará el siguiente resultado:
Number Format:
Formatted Number (1): £120,000.23
Formatted Number (2): 000.231
Formatted Number (3): 120,000.231
Formatted Number (4): 120000.231
Formatted Number (5): 023%
Formatted Number (6): 12,000,023.0900000000%
Formatted Number (7): 023%
Formatted Number (8): 120E3
Currency in USA : $120,000.23