<fmt:formatNumber>-Tag

JSP 标准标签库JSP-Standard-Tag-Bibliothek

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

JSP 标准标签库JSP-Standard-Tag-Bibliothek

Andere Erweiterungen