首页 > 编程笔记 > Java笔记

JSP JSTL <fmt:parseNumber>标签:转换为数字

<fmt:parseNumber> 标签可以把字符串类型的数字解析成数字类型的数值,使其可以组合算术运算形成其他数值结果。

语法1

<fmt:parseNumber value="numericValue"
  [type="{number|currency|percent}"]
  [pattern="customPattern"]
  [parseLocale="parseLocale"]
  [integerOnly="{true|false}"]
  [var="varName"]
  [scope="{page|request|session|application}"]/>

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

<fmt:parseNumber>标签属性
属性 类型 描述 引用 EL
value String,Number 被解析的字符串 可以
type String 数字格式的表现类型,可以选择货币、百分比和数字类型 可以
pattern String 模式字符串 可以
parseLocale String,java.util.Locale 指定不同的国家区域 可以
var String 存储格式化后的数字格式 不可以
scope String 变量的作用范围 不可以
integetOnly boolean 是否只显示整数部分 可以


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

示例

应用 <fmt:parseNumber> 标签将百分比格式、货币格式和数字格式的字符解析成数字类型,并进行算术运算,关键代码如下:
<%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
  <fmt:parseNumber value="25%" var="num" type="percent"/>
  ${num*3}
  <!--显示0.75-->
  <br>
  <fmt:parseNumber value="¥3.14" var="num" type="currency"/>
  ${num*3}
  <!--显示9.42-->
  <fmt:parseNumber value="80,000" var="num"/>
  ${num+100}
  <!--显示80100-->

语法2

<fmt:parseNumber[type="{number|currency|percent}"]
                      [pattern="customPattern"]
                      [parseLocale="parseLocale"]
                      [integerOnly="{true|false}"]
                      [var="varName"]
                      [scope="{page|request|session|application}"]>
  numeric value to be parsed
  </fmt:parseNumber>

示例

本示例应用 <fmt:parseNumber> 标签,将圆周率以科学计数法的方式把字符串解析成数字类型,并进行算术运算,关键代码如下:
<fmt:parseNumber value="3.142E6" var="num" pattern="0.###E0"/>
  ${num*2}
<!--显示6284000-->
<fmt:parseNumber value="31.416E-2" var="num" pattern="00.###E0"/>
  ${num*2}
<!--显示0.62832-->

示例2

本示例应用 <fmt:parseNumber> 标签的 integerOnly 属性,将数据的小数部分去掉,仅显示整数部分,关键代码如下:
<fmt:parseNumber value="200,233.56" var="num" integerOnly="true"/>
  ${num}
<!--显示200233-->
<fmt:parseNumber value="200,233.56" var="num" integerOnly="false"/>
  ${num}
<!--显示200233.56-->

所有教程

优秀文章