我想问一个关于JSP和Java的问题.我正在编写JSP页面并且有一个bean类.在类中,我有一个getter函数,它将在jsp页面中返回一个double var.我使用以下代码显示数字.
<p> the value of AB is <%=obj.getValue() %> <p>
Run Code Online (Sandbox Code Playgroud)
我希望显示器会如下所示
the value of AB is 0.45
Run Code Online (Sandbox Code Playgroud)
但是,真正的显示如下
the value of AB is 0.4569877987
Run Code Online (Sandbox Code Playgroud)
我只想显示最后两位数.我该怎么做才能展示我想要的东西.我应该修改JSP页面还是Java类变量?谢谢.
Boz*_*zho 12
在JSP中,您可以使用JSTL标记执行此操作<fmt:formatNumber>
.您可以设置a pettern
(#0.##
)或maxFractionDigits="2"
避免在JSP中使用Java代码 - 改为使用JSTL.请参阅本教程.并看到这个问题
您可以使用a DecimalFormat
将值格式化为字符串,例如:
DecimalFormat df = new DecimalFormat("#0.00");
Run Code Online (Sandbox Code Playgroud)
(该模式假设您总是希望小数部分中有两位数,即使小数部分为零.否则,请使用#0.##
)
但是一般情况下,建议不要DecimalFormat
直接调用构造函数.相反,建议的做法是调用其中一个工厂方法NumberFormat
,然后根据需要自定义模式,例如:
NumberFormat nf = NumberFormat.getInstance();
nf.setMaximumFractionDigits(2);
nf.setMinimumFractionDigits(2);
Run Code Online (Sandbox Code Playgroud)
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>
Run Code Online (Sandbox Code Playgroud)
另请参阅Bozho的答案,了解使用JSTL获得相同结果的方法.
归档时间: |
|
查看次数: |
12751 次 |
最近记录: |