我有一个值 50257001.3
转换后 Double.parseDouble("50257001.3")
成为 5.02570013E7有什么办法可以解决这个问题?????
(在线等大家答案)
转换后 Double.parseDouble("50257001.3")
成为 5.02570013E7有什么办法可以解决这个问题?????
(在线等大家答案)
解决方案 »
- 哪位高手见过此异常??是关于lucene的异常java.io.IOException: background merge hit exception: _br:c1 _bs:c1 into _bt [optimize]
- 求STRUTS+HIBERNATE+SPRIN项目
- java的多平台?
- 求一个正则表达式(急急急急急急急急急急急急急急急急急)
- 大虾,救命!特急!!急!!!jsp报表实现问题,高手请进!100分
- 使用JSP实现远程数据获取并显示在本地WEB服务器该如何实现?
- jsp网站发布问题!
- 紧急求助:jspSmartUpload文本框中文问题
- 100分深情大奉送!! 请教各位高手帮忙
- 一个JSP页面连SQLSERSER数据库的问题,请你相助
- checkbox表单传值 ,getParameterValues 的问题
- 如何动态的JSP页面生成静态的HTML页面
不要用Double类型,用BigDecimal
String dd="50257001.3";
double dou = Double.valueOf(dd);
BigDecimal cc = BigDecimal.valueOf(dou);
System.out.println(cc);
}
double类型超过一定的值就会用这种方式进行表示,可以用BigDecimal来中转一下
Double b=new Double(a);
DecimalFormat f=new DecimalFormat();
System.out.println(f.format(a));
这样的话是50,257,001.3,不知道是不是你要的!如果没有','也不知道怎么写了
* 格式化数字
* @param {Object} number 浮点数
* @param {Object} pattern 小数位后保留几位
*/
function formatNumber(number, pattern){
if (number == null || number == undefined || number == '') {
number = "0";
}
return parseFloat(number).toFixed(pattern);
}
2、double值本来就是以科学计数法的形式显示的。
3、如果你下一步要用这个double值参与数字计算的话,50257001.3和5.02570013E7有区别吗?
4、你所说的这个值50257001.3,也没说是什么类型的,这是java不是javascript等弱类型语言。如果是字符串的话,直接显示就好了;如果是double型的,JFC中有现成的接口可以格式化输出你的任何primitive类型。NumberFormat接口可以做数字格式化的工作,DecimalFormat是它的一个实现。