<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<fmt:formatNumber value="${num}" maxFractionDigits="2" />
例如:num = 3.1415926575897932
显示:3.14 (即保留小数点后两位小数)
-------------------------------------------------------------------------
本文通过一个示例描述如何使用jstl的fmt标签库格式化各种数字
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<html>
<head>
<title>Format Percent</title>
</head>
<body>
<form method="POST">
<table border="1" cellpadding="0" cellspacing="0"
style="border-collapse: collapse" bordercolor="#FF9900"
width="62%" id="AutoNumber1">
<tr>
<td width="100%" colspan="2" bgcolor="#660000">
<p align="center">
<b>
<font color="#FFFFFF" size="4">Number
Formatting</font>
</b>
</p>
</td>
</tr>
<tr>
<td width="47%">Enter a percent to be formatted:</td>
<td width="53%">
<input type="text" name="num" size="20" />
</td>
</tr>
<tr>
<td width="100%" colspan="2">
<p align="center">
<input type="submit" value="Submit" name="submit" />
<input type="reset" value="Reset" name="reset" />
</p>
</td>
</tr>
</table>
<p> </p>
</form>
<c:if test="${pageContext.request.method=='POST'}">
<table border="1" cellpadding="0" cellspacing="0"
style="border-collapse: collapse" bordercolor="#111111"
width="63%" id="AutoNumber2">
<tr>
<td width="100%" colspan="2" bgcolor="#660000">
<p align="center">
<b>
<font color="#FFFFFF" size="4">Formatting:
<c:out value="${param.num}" />
</font>
</b>
</p>
</td>
</tr>
<tr>
<td width="51%">type="percent"</td>
<td width="49%">
<fmt:formatNumber type="percent"
value="${param.num}" />
</td>
</tr>
<tr>
<td>type="percent" maxIntegerDigits="3"</td>
<td>
<fmt:formatNumber type="percent" maxIntegerDigits="3"
value="${param.num}" />
</td>
</tr>
<tr>
<td>type="percent" minIntegerDigits="10"</td>
<td>
<fmt:formatNumber type="percent" minIntegerDigits="10"
value="${param.num}" />
</td>
</tr>
<tr>
<td>type="percent" maxFractionDigits="3"</td>
<td>
<fmt:formatNumber type="percent" maxFractionDigits="3"
value="${param.num}" />
</td>
</tr>
<tr>
<td>type="percent" minFractionDigits="10"</td>
<td>
<fmt:formatNumber type="percent" minFractionDigits="10"
value="${param.num}" />
</td>
</tr>
<tr>
<td>type="percent" maxFractionDigits="3"
groupingUsed="false"</td>
<td>
<fmt:formatNumber type="percent" maxFractionDigits="3"
groupingUsed="false" value="${param.num}" />
</td>
</tr>
</table>
</c:if>
</body>
</html>
格式化效果如下表所示:
Formatting: 0.56 | |
type="percent" | 56% |
type="percent" maxIntegerDigits="3" | 56% |
type="percent" minIntegerDigits="10" | 0,000,000,056% |
type="percent" maxFractionDigits="3" | 56% |
type="percent" minFractionDigits="10" | 56.0000000000% |
type="percent" maxFractionDigits="3" groupingUsed="false" | 56% |
-------------------------------------------------------------
JSTL fmt:formatNumber 数字、货币格式化
<fmt:formatNumber value="12" type="currency" pattern="$.00"/> -- $12.00
<fmt:formatNumber value="12" type="currency" pattern="$.0#"/> -- $12.0
<fmt:formatNumber value="1234567890" type="currency"/> -- $1,234,567,890.00(那个货币的符号和当前web服务器的 local 设定有关)
<fmt:formatNumber value="123456.7891" pattern="#,#00.0#"/> -- 123,456.79
<fmt:formatNumber value="123456.7" pattern="#,#00.0#"/> -- 123,456.7
<fmt:formatNumber value="123456.7" pattern="#,#00.00#"/> -- 123,456.70
<fmt:formatNumber value="12" type="percent" /> -- 1,200% (type 可以是currency、 number、 和percent)。
java格式化输出:
DecimalFormat df = new DecimalFormat("格式");
String fmt =df.format(double);
符号 意义
0 一个数位
# 一个数位,前导零和追尾零不显示
. 小数点分割位置
, 组分隔符的位置
- 负数前缀
% 用100乘,并显示百分号
其他任何符号 在输出字符串中包括指定符号