现有Indent(订单)表,表中有字段Price(Double类型)和Count(Int类型),从数据库中查询全部Indent集合
返回页面,在页面上加了一个列(合计),直接用EL表达式两个值后显示。
但显示的时候经常会是错误的值。不知为何!?
例如Price为:0.038,Count为2550,合计理应为:96.9,但中页面中却显示为:96.89999999999999!
请高手解答,合计部队代码为:${indent.price*indent.count}
如果想显示为格式化之后的,小数点后两位应该怎么写呢?
是不是要先用bean:define标签写义一个变量,再用bean:write格式化输出???

解决方案 »

  1.   

    Price(Double类型) 精度问题
    转成Srting
      

  2.   

    用JSTL格式化吧<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %><fmt:formatNumber value="${indent.price*indent.count}" pattern="#.0#"/>
      

  3.   

    怎么没用呀?
    报错
    According to TLD or attribute directive in tag file, attribute value does not accept any expressions
      

  4.   

    兄弟,这样可以吗?转成String类型可以相乘吗?怎么个转法?
      

  5.   

    应该是没有添加相应的jar包吧
      

  6.   

    没有添加fmt.tld文件,现在添加进去了,可以进行格式化了!