1.页面运算格式化数字
页面上有时候会用到数字的运算,运算过后会出现1.5999999999999这么长的数字,需要格式化数字,比如保留两位有效数字
首先导入这个标签
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
然后使用标签语言
<fmt:formatNumber type="number" value="${cost-beanNums}" pattern="0.00" maxFractionDigits="2"/>
2.传值到页面前格式化数字
DecimalFormat decimalFormat=new DecimalFormat("#0.00");//构造方法的字符格式这里如果小数不足2位,会以0补足. String p=decimalFormat.format(cost);//format 返回的是字符串
这时候传值到页面上是字符串形式,如果使用el表达式,下面这个是错误的,因为cost是字符串形式,不能大小比较
<c:when test="${beanNums != 0 && cost>beanNums}"> <span class="ml50 pay_by_cash_span">¥<fmt:formatNumber type="number" value="${cost-beanNums}" pattern="0.00" maxFractionDigits="2"/></span> </c:when>
所以我们需要这样 先做运算
<c:when test="${beanNums != 0 && cost-beanNums>0}"> <span class="ml50 pay_by_cash_span">¥<fmt:formatNumber type="number" value="${cost-beanNums}" pattern="0.00" maxFractionDigits="2"/></span> </c:when>