首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

保留小数点的有关问题

2012-09-27 
保留小数点的问题public double getTest() {double d 10578945.314781564654767134324324BigDecimal bg

保留小数点的问题
public double getTest() {
double d = 10578945.314781564654767134324324;
BigDecimal bg = new BigDecimal(d);
d = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
return d;
}

public static void main(String[] arges) {

TestMap testMap = new TestMap();
System.out.print(testMap.getTest());
}  

结果是1.057894531E7 我想得到1057.89,1000W以内是没问题的,超过7位数就不行了呢
怎么做?

[解决办法]
首先,从数值来说是没有问题的;你是不是想问在页面中显示的时候的格式的问题,可以用fmt的标签

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

<fmt:formatNumber value="${aaa}" pattern="#00.00" /> 
-- aaa表示某个数字,结果会保留两位小数

或者
<fmt:formatNumber value="${aaa}" pattern="#,#00.00" />
-- 结果会保留两位小数,并且有分隔符,比如“22,345.68” 




[解决办法]

Java code
            NumberFormat format =NumberFormat.getInstance();        //是否分组        format.setGroupingUsed(false);        //允许返回小数部分的最大位数        format.setMaximumFractionDigits(2);        System.out.println(format.format(10578945.314781564654767134324324)); 

热点排行