首页 > 编程笔记 > Java笔记 阅读:365

JSP JSTL <fmt:formatNumber>标签:格式化数字

<fmt:formatNumber> 标签用于设置数字在不同国家区域的显示格式,例如,数字 1000000.9,在中国将使用 1,000,000.9 的格式,而在法国则会使用 1 000 000.9 的数字格式。

语法:

<fmt:formatNumber[type="{number|currency|percent}"]
                       [pattern="customPattern"]
                       [currencyCode="currencyCode"]
                       [currencySymbol="currencySymbol"]
                       [groupingUsed="{true|false}"]
                       [maxIntegerDigits="maxIntegerDigits"]
                       [minIntegerDigits="minIntegerDigits"]
                       [maxFractionDigits="maxFractionDigits"]
                       [minFractionDigits="minFractionDigits"]
                       [var="varName"]
                       [scope="{page|request|session|application}"]>
  numeric value to be formatted
</fmt:formatNumber>


<fmt:formatNumber> 标签各属性的详细介绍如表所示。

<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 变量的作用范围 不可以

type属性的类型
类型 说明 示例
number 数字格式 6.7
currency 货币格式 ¥6.70
percent 百分比格式 670%

示例1

应用 <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-->

示例2

本示例应用 <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"/>

示例3

本示例应用 <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"/>

编程帮,一个分享编程知识的公众号。跟着站长一起学习,每天都有进步。

通俗易懂,深入浅出,一篇文章只讲一个知识点。

文章不深奥,不需要钻研,在公交、在地铁、在厕所都可以阅读,随时随地涨姿势。

文章不涉及代码,不烧脑细胞,人人都可以学习。

当你决定关注「编程帮」,你已然超越了90%的程序员!

编程帮二维码
微信扫描二维码关注

所有教程

优秀文章