而且我发现数据还不准,可能是float型超长了

解决方案 »

  1.   

    用java.text.DecimalFormat进行格式控制
      

  2.   

    用BigDecimal吧,很合适,而且准确,当然性能可能不如基本类型
      

  3.   

    干脆就用rs.getString(x)代替rs.getFloat()行吗?
      

  4.   

    sikuan(冰糖★葫芦★头) 能不能教我怎么用,我是新手
      

  5.   

    float f = 12.123;
    java.text.DecimalFormat df1 = new java.text.DecimalFormat("###,##0.00");
    String g = df1.format(d);
    out.println(g);
    自己控制一下格式
      

  6.   

    像金额这种情况,必须用 BigDecimal .
    因为其他比如float之类的都是不准确的. ------------------------------------------------------
               我们还年轻牛奶会有的奶牛也会有的 
                 可天天在 csdn 混这些会有吗 ??
      

  7.   

    <%@ page contentType="text/html;charset=Shift_JIS" %>
    <%@ page import="java.math.BigDecimal" %>
    <html>
    <body>
    <%
        BigDecimal aaa = new BigDecimal("200000000000000000000000");
    %>
    <table>
    <tr>
    <td>
    <%=aaa.toString()%></td>
    </tr>
    </table>
    </body>
    </html>结果:200000000000000000000000
      

  8.   

    BigDecimal 显示出来是很长的那种啊,如果只需要给用户显示到分就可以,怎么办??
    也可以用java.text.DecimalFormat 来控制么??
      

  9.   

    当然可以了. ------------------------------------------------------
               我们还年轻牛奶会有的奶牛也会有的 
                 可天天在 csdn 混这些会有吗 ??
      

  10.   

    我觉得还是用基本类型int(long)比较好。楼上的这种测试方法不可取,最好还有计算过程。用比较复杂的数字来证明它不会出错,差一分对银行都是很致命的。
      

  11.   

    <%@ page contentType="text/html;charset=Shift_JIS" %>
    <%@ page import="java.math.BigDecimal" %>
    <html>
    <body>
    <%
        BigDecimal aaa = new BigDecimal("20000000000000000000000.12345").setScale(3, BigDecimal.ROUND_HALF_UP);%>
    <table>
    <tr>
    <td>
    <%=aaa.toString()%></td>
    </tr>
    </table>
    </body>
    </html>
    结果:20000000000000000000000.123
    这样可以吗?
      

  12.   

    将money精确到分。用int或long来计算
    然后自己控制小数点的显示