j2ee专栏

j2ee,ajax相关技术

Double类型如何不科学计数法显示,

今天遇到个很棘手但难以解决的问题!就是关于Double显示科学计数法问题!

比如10000000.21的Double类型 却显示成10.00000021E7  其实如果这个用String 类型输出的话很容易解决。

如:
DecimalFormat df = new DecimalFormat("0.00");
System.out.println(df.format(a));
或 
  public static String formatNum(double value)
    {
        String retValue = null;
        DecimalFormat df = new DecimalFormat();
        df.setMinimumFractionDigits(0);
        df.setMaximumFractionDigits(2);
        retValue = df.format(value);
        retValue = retValue.replaceAll(",", "");
        return retValue;

    }

都可以不以科学计数法显示的 但是返回的都是String 类型
大家有没有考虑过。
如果让Double类型不变的前提,非科学计数法显示了。?
     到最后实在没办法 。只有在页面做文章了。
当在页面获取数据显示前 ,对他格式化下!  
用FMT:FORMATNUMBER  标签;试试
具体写法:
<fmt:formatNumber value="${caseForm.caseBean.payinfo.paymentFee}" pattern="0.00"/> 



 

posted on 2009-11-13 09:10 列夫司机 阅读(13982) 评论(6)  编辑  收藏

评论

# re: Double类型如何不科学计数法显示, 2009-11-13 09:19 咖啡妆

恩 有道理  回复  更多评论   

# re: Double类型如何不科学计数法显示, 2009-11-13 09:52 r

BigDecimal  回复  更多评论   

# re: Double类型如何不科学计数法显示, 2009-11-13 10:01 5452

嗯,BigDecimal正解  回复  更多评论   

# re: Double类型如何不科学计数法显示, 2009-11-13 23:03 zwj

NumberFormat fmt = new java.text.DecimalFormat();
fmt.setMaximumFractionDigits(100);
fmt.setGroupingUsed(false);
return fmt.format(value);  回复  更多评论   

# re: Double类型如何不科学计数法显示, 2009-11-14 13:51 笨猪

显示的实质可以说都是以字符串显示的,使用fmt也只是指定了转化格式,而不用默认格式。数据类型是一种内存储存方式,显示是对以数据类型储存的数据形象化显示可见。要把数据显示都是要形象化转化的,直接显示只是原始设计程序语言的默认转化显示成这个格式。所以在你要显示数据的时候,无论你转换不转化,他都会给你自动转化的。  回复  更多评论   

# re: Double类型如何不科学计数法显示,[未登录] 2016-07-15 14:24 1

1  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航:
 

导航

<2009年11月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
293012345

统计

常用链接

留言簿

随笔档案

搜索

最新评论

阅读排行榜

评论排行榜