当时的要求是在jsp页面中计算百分比

实现方法

1.引入Jstl的fmt指令

<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>

2.具体实现:type百分比,value要格式化的数字,maxIntegerDigits保留小数点后几位

<fmt:formatNumber type="percent" value="${item.vote / item.sid.totalVotes }" maxFractionDigits="3" />

奉上<fmt:formatNumber>标签详细

属性

属性

描述

是否必要

默认值

value

要显示的数字



type

NUMBER,CURRENCY,或 PERCENT类型


Number

pattern

指定一个自定义的格式化模式用与输出



currencyCode

货币码(当type="currency"时)


取决于默认区域

currencySymbol

货币符号 (当 type="currency"时)


取决于默认区域

groupingUsed

是否对数字分组 (TRUE 或 FALSE)


true

maxIntegerDigits

整型数最大的位数



minIntegerDigits

整型数最小的位数



maxFractionDigits

小数点后最大的位数



minFractionDigits

小数点后最小的位数



var

存储格式化数字的变量


Print to page

scope

var属性的作用域


page

 

 

 

 

 

 

 

 

 

 

如果type属性为percent或number,那么您就可以使用其它几个格式化数字属性。maxIntegerDigits属性和minIntegerDigits属性允许您指定整数的长度。若实际数字超过了maxIntegerDigits所指定的最大值,则数字将会被截断。

有一些属性允许您指定小数点后的位数。minFractionalDigits属性和maxFractionalDigits属性允许您指定小数点后的位数。若实际的数字超出了所指定的范围,则这个数字会被截断。

数字分组可以用来在每三个数字中插入一个逗号。groupingIsUsed属性用来指定是否使用数字分组。当与minIntegerDigits属性一同使用时,就必须要很小心地来获取预期的结果了。

您或许会使用pattern属性。这个属性可以让您在对数字编码时包含指定的字符。接下来的表格中列出了这些字符。

符号

描述

0

代表一位数字

E

使用指数格式

#

代表一位数字,若没有则显示0

.

小数点

,

数字分组分隔符

;

分隔格式

-

使用默认负数前缀

%

百分数

?

千分数

¤

货币符号,使用实际的货币符号代替

X

指定可以作为前缀或后缀的字符

'

在前缀或后缀中引用特殊字符