如何在jsp中打印小数点后两位的浮点变量?

如何在jsp中打印小数点后两位的浮点变量?,jsp,variables,Jsp,Variables,我需要在浏览器中使用JSP打印一个浮点变量,最多两位小数 例如,假设我有以下变量: float amount=123.2782; 我需要在浏览器上打印123.28 提前谢谢 梅赫迪 有关更多信息,请参阅类的文档 您还可以使用语法稍有不同的十进制格式。之后 add <@page import="java.math.BigDecimal"> to your jsp first <% BigDecimal bigd=new BigDecimal();

我需要在浏览器中使用JSP打印一个浮点变量,最多两位小数

例如,假设我有以下变量:

float amount=123.2782;
我需要在浏览器上打印123.28

提前谢谢 梅赫迪

有关更多信息,请参阅类的文档

您还可以使用语法稍有不同的十进制格式。

之后

  add <@page import="java.math.BigDecimal"> to your jsp first

    <%
        BigDecimal bigd=new BigDecimal();
        bigd=bigd.setScale(2,BigDecimal.ROUND_HALF_EVEN);
        out.println(bigd);
    %>
首先添加到jsp

在jsp页面顶部添加以下代码行

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

然后使用以下代码行显示您的数字

<fmt:formatNumber type="number" maxFractionDigits="2" value="${amount}"/>


此处
maxFractionDigits
属性用于定义小数点后要显示的位数。

感谢您的回复。但这并不能解决我的问题。如果使用此代码,则会发生一个错误。错误是:“找不到符号symbol:class BigDecimal位置:class SimplifiedJSPServlet”添加到您的jsp firstscriptlet不应使用。这应该是最坏的情况下使用我与jsp的工作。据我所知,jsp不支持在网页中显示printf。不过,感谢您的最佳答案,如果OP的
123.2
为十进制,您的代码实际上会打印
123.2
。包括
minFractionDigits=“2”
将使其打印
123.20
<fmt:formatNumber type="number" maxFractionDigits="2" value="${amount}"/>