<fmt:formatNumber>-Tag
Das <fmt:formatNumber>-Tag wird verwendet, um Zahlen, Prozentsätze und Währungen zu formatieren.
Syntax
<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>"/>
Attribute
Das <fmt:formatNumber>-Tag hat die folgenden Attribute:
| Attribute | Beschreibung | Erforderlich | Standardwert |
|---|---|---|---|
| value | Anzuzeigende Zahl | Ja | Keine |
| type | Typ NUMBER, CURRENCY oder PERCENT | nein | Number |
| pattern | Geben Sie ein benutzerdefiniertes Formatierungsmuster für die Ausgabe an | nein | Keine |
| currencyCode | Währungscode (wenn type="currency") | nein | Hängt vom Standard-Gebietsschema ab |
| currencySymbol | Währungssymbol (wenn type="currency") | nein | Hängt vom Standard-Gebietsschema ab |
| groupingUsed | Ob Zahlen gruppiert werden sollen (TRUE oder FALSE) | nein | wahr |
| maxIntegerDigits | Maximale Anzahl an ganzzahligen Ziffern | nein | Keine |
| minIntegerDigits | Minimale Anzahl an ganzzahligen Ziffern | nein | Keine |
| maxFractionDigits | Maximale Anzahl an Nachkommastellen | nein | Keine |
| minFractionDigits | Minimale Anzahl an Nachkommastellen | nein | Keine |
| var | Variable zum Speichern der formatierten Zahl | nein | Auf der Seite ausgeben |
| scope | Gültigkeitsbereich des var-Attributs | nein | page |
Wenn das Attribut type percent oder number ist, können Sie mehrere andere Attribute zur Zahlenformatierung verwenden. Die Attribute maxIntegerDigits und minIntegerDigits ermöglichen es Ihnen, die Länge des ganzzahligen Teils festzulegen. Wenn die tatsächliche Zahl den durch maxIntegerDigits angegebenen Höchstwert überschreitet, wird die Zahl abgeschnitten.
Es gibt einige Attribute, mit denen Sie die Anzahl der Ziffern nach dem Dezimalpunkt angeben können. Die Attribute minFractionalDigits und maxFractionalDigits ermöglichen es Ihnen, die Ziffern nach dem Dezimalpunkt festzulegen. Wenn die tatsächliche Zahl den angegebenen Bereich überschreitet, wird die Zahl abgeschnitten.
Die Zifferngruppierung kann verwendet werden, um alle drei Ziffern ein Komma einzufügen. Das Attribut groupingIsUsed wird verwendet, um anzugeben, ob die Zifferngruppierung verwendet wird. Wenn es zusammen mit dem Attribut minIntegerDigits verwendet wird, müssen Sie sehr vorsichtig sein, um das erwartete Ergebnis zu erhalten.
Sie können das Attribut pattern verwenden. Dieses Attribut ermöglicht es Ihnen, beim Formatieren von Zahlen bestimmte Zeichen einzufügen. Die folgende Tabelle listet diese Zeichen auf.
| Symbol | Beschreibung |
|---|---|
| 0 | Stellt eine Ziffer dar |
| E | Verwendet Exponentialformat |
| # | Stellt eine Ziffer dar; zeigt 0 an, wenn keine vorhanden ist; führende Nullen und nachfolgende Nullen werden nicht angezeigt. |
| . | Dezimalpunkt |
| , | Zifferngruppierungstrennzeichen |
| ; | Trennt Formate |
| - | Verwendet das standardmäßige negative Präfix |
| % | Prozent |
| ? | Promille |
| ¤ | Währungssymbol; wird durch das tatsächliche Währungssymbol ersetzt |
| X | Gibt Zeichen an, die als Präfix oder Suffix verwendet werden können |
| ' | Setzt Sonderzeichen in einem Präfix oder Suffix in Anführungszeichen |
Beispiel
<%@ 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>JSTL fmt:formatNumber 标签</title>
</head>
<body>
<h3>数字格式化:</h3>
<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>
Die Ausgabe sieht wie folgt aus:
数字格式化: 格式化数字 (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
Andere Erweiterungen
JSP-Standard-Tag-Bibliothek