如何在JSP中控制显示位数?

问题:

我想问一个有关JSP和Java的问题。我正在编写JSP页面,并且具有bean类。在该类中,我有一个getter函数,它将在jsp页面中返回一个double var。我使用以下代码来显示数字。

<p> the value of AB is <%=obj.getValue() %> <p>

我希望显示器会像下面这样

the value of AB is 0.45

但是,实际显示如下

the value of AB is 0.4569877987

我只想显示最后两位数字。我应该怎么做才能显示我想要的东西。我应该修改JSP页面还是Java类变量?谢谢。

格罗德里格斯:

您可以使用a DecimalFormat将值格式化为字符串,例如:

DecimalFormat df = new DecimalFormat("#0.00");

(该模式假设即使小数部分为零,您也总是希望小数部分为两位数。否则,请使用#0.##

但是,通常建议不要DecimalFormat直接调用构造函数。相反,建议的做法是调用的工厂方法之一NumberFormat,然后根据需要自定义模式,例如:

NumberFormat nf = NumberFormat.getInstance();
nf.setMaximumFractionDigits(2);
nf.setMinimumFractionDigits(2);

Javadoc包括示例:

这应该在您的JSP页面中起作用:

<%@ page import="java.text.NumberFormat" %>
<%
    NumberFormat nf = NumberFormat.getInstance();
    nf.setMaximumFractionDigits(2);
    nf.setMinimumFractionDigits(2);
%>

[...]

<p> the value of AB is <%= nf.format(obj.getValue()) %> <p>

另请参阅Bozho的答案,以了解使用JSTL达到相同结果的方法。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章