<fmt:formatNumber> 标签用于设置数字在不同国家区域的显示格式,例如,数字 1000000.9,在中国将使用 1,000,000.9 的格式,而在法国则会使用 1 000 000.9 的数字格式。
语法:
<fmt:formatNumber> 标签各属性的详细介绍如表所示。
属性 | 类型 | 描述 | 引用 EL |
---|---|---|---|
value | String,Number | 被格式化的数字 | 可以 |
type | String | 数字格式的表现类型,可以选择货币、百分比和数字类型。下表介绍 | 可以 |
pattern | String | 模式字符串 | 可以 |
currencyCode | String | 货币单位代码 | 可以 |
currencySymbol | String | 货币符号 | 可以 |
groupingUsed | boolean | 是否对格式化数字的整数部分分组,例如:123,456,789.001 | 可以 |
maxIntegerDigits | int | 数字格式化后的最大整数位数 | 可以 |
minIntegerDigits | int | 数字格式化后的最小整数位数 | 可以 |
maxFractionDigits | int | 数字格式化后的最大小数位数 | 可以 |
minFractionDigits | int | 数字格式化后的最小小数位数 | 可以 |
var | String | 存储格式化后的数字格式 | 不可以 |
scope | String | 变量的作用范围 | 不可以 |
类型 | 说明 | 示例 |
---|---|---|
number | 数字格式 | 6.7 |
currency | 货币格式 | ¥6.70 |
percent | 百分比格式 | 670% |
应用 <fmt:formatNumber> 标签将数字 7.17 分别以数字、货币和百分比格式输出,关键代码如下:
<%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<fmt:formatNumber value="7.17" type="number"/><!--显示7.17-->
<br>
<fmt:formatNumber value="7.17" type="percent"/><!--显示7.17-->
<br>
<fmt:formatNumber value="7.17" type="currency"/><!--显示¥7.17-->
本示例应用 <fmt:formatNumber> 标签设定其 type 属性的不同值,实现对含有小数的数值进行格式化和对货币币种的不同显示,关键代码如下:
<%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<!--显示314,159.26-->
<fmt:formatNumber value="314159.26" groupingUsed="true"/>
<!--显示0457.17-->
<fmt:formatNumber value="70457.17" maxIntegerDigits="4"/>
<!--显示0,007.17-->
<fmt:formatNumber value="7.17" minIntegerDigits="4" groupingUsed="true"/>
<!--显示$7.17-->
<fmt:formatNumber value="7.17" currencySymbol="$" type="currency"/>
<!--显示3.14-->
<fmt:formatNumber value="3.14159" maxFractionDigits="2"/>
<!--显示3.15-->
<fmt:formatNumber value="3.14559" maxFractionDigits="2"/>
本示例应用 <fmt:formatNumber> 标签将圆周率显示为科学计数法的模式,关键代码如下:
<%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<!--显示3.142E-1-->
<fmt:formatNumber value="0.31415926535897" pattern="0.###E0"/>
<!--显示31.416E-2-->
<fmt:formatNumber value="0.31415926535897" pattern="00.###E0"/>
<!--显示3.142E13-->
<fmt:formatNumber value="31415926535897" pattern="0.###E0"/>