English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

<fmt:formatNumber> тег

Стандартная библиотека тегов JSP

<fmt:formatNumber> тег используется для форматирования чисел, процентов, валюты.

грамматический формат

<fmt:formatNumber
  value="<string>"
  type="<string>"
  pattern="<string>"
  currencyCode="<string>"
  currencySymbol="<string>"
  groupingUsed="<string>"
  maxIntegerDigits="<string>"
  minIntegerDigits="<string>"
  maxFractionDigits="<string>"
  minFractionDigits="<string>"
  var="<string>"
  scope="<string>"/>

Атрибут

<fmt:formatNumber> имеет следующие атрибуты:

Атрибут Описание Необязательно Значение по умолчанию
value Число для отображения да нет
type NUMBER, CURRENCY или PERCENT тип нет Number
pattern Указать пользовательский формат для вывода нет нет
currencyCode Код валюты (при type="currency") нет зависит от региона по умолчанию
currencySymbol Символ валюты (при type="currency") нет зависит от региона по умолчанию
groupingUsed Используется ли группировка чисел (TRUE или FALSE) нет true
maxIntegerDigits Максимальное количество знаков целого числа нет нет
minIntegerDigits Минимальное количество знаков целого числа нет нет
maxFractionDigits Максимальное количество знаков после запятой нет нет
minFractionDigits Минимальное количество знаков после запятой нет нет
var Сохранять переменные, форматированные числа нет Распечатать на странице
scope Область действия переменной var нет page

Если атрибут type равен percent или number, вы можете использовать другие несколько свойств форматирования чисел. Атрибуты maxIntegerDigits и minIntegerDigits позволяют specify длину целого числа. Если фактическое число превышает максимальное значение, указанное maxIntegerDigits, это число будет обрезано.

Некоторые атрибуты позволяют вам specify количество знаков после запятой. Атрибуты minFractionalDigits и maxFractionalDigits позволяют specify количество знаков после запятой. Если фактическое число выходит за указанный диапазон, это число будет обрезано.

Группировка чисел может использоваться для вставки запятой через каждые три числа. Атрибут groupingIsUsed используется для указания, используется ли группировка чисел. При использовании вместе с атрибутом minIntegerDigits необходимо быть очень внимательным, чтобы получить ожидаемый результат.

Вы, возможно, будете использовать атрибут pattern. Этот атрибут позволяет вам включать指定的 символы при кодировании чисел. В следующей таблице перечислены эти символы.

Знак Описание
0 Представляет один цифровой символ
E Использование формата с индексом
# Представляет один цифровой символ, если его нет, отображается 0, ведущие и хвостовые нули не отображаются.
. Точка
, Разделитель группировки чисел
; Разделитель формата
- Использование mặc địnhного префикса для отрицательных чисел
% Проценты
? Тысячные знаки
¤ Символ валюты, замените его фактическим символом валюты
X Указание символов, которые могут быть префиксом или суффиксом
' Указание специальных символов в префиксе или суффиксе

Пример демонстрации

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ 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>Тег fmt:formatNumber JSTL</title>
</head>
<body>
<h2>Форматирование чисел:</h2>
<c:set var="balance" value="120000.2309" />
<p>Форматирование чисел (1): <fmt:formatNumber value="${balance}" 
            type="currency"/></p>
<p>Форматирование чисел (2): <fmt:formatNumber type="number" 
            maxIntegerDigits="3" value="${balance}" /></p>
<p>Форматирование чисел (3): <fmt:formatNumber type="number" 
            maxFractionDigits="3" value="${balance}" /></p>
<p>Форматирование чисел (4): <fmt:formatNumber type="number" 
            groupingUsed="false" value="${balance}" /></p>
<p>Форматирование чисел (5): <fmt:formatNumber type="percent" 
            maxIntegerDigits="3" value="${balance}" /></p>
<p>Форматирование чисел (6): <fmt:formatNumber type="percent" 
            minFractionDigits="10" value="${balance}" /></p>
<p>Форматирование чисел (7): <fmt:formatNumber type="percent" 
            maxIntegerDigits="3" value="${balance}" /></p>
<p>Форматирование чисел (8): <fmt:formatNumber type="number" 
            pattern="###.###E0" value="${balance}" /></p>
<p>Доллар :
<fmt:setLocale value="en_US"/>
<fmt:formatNumber value="${balance}" type="currency"/></p>
</body>
</html>

Результат выполнения таков:

Форматирование чисел:
Форматирование чисел (1): ¥120,000.23
Форматирование чисел (2): 000.231
Форматирование чисел (3): 120,000.231
Форматирование чисел (4): 120000.231
Форматирование чисел (5): 023%
Форматирование чисел (6): 12,000,023.0900000000%
Форматирование чисел (7): 023%
Форматирование чисел (8): 120E3
Доллар: $120,000.23

Стандартная библиотека тегов JSP