Java/Jsp中让数值不使用科学计数法显示的解决方案

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_16313365/article/details/51896726

1.在java后台中进行转换

(1)使用BigDecimal类

double num=8.2347983984297E7;
String str=new BigDecimal(num).toString();

注意:以上方式转换之后的可能不是你想要的模样,而是酱紫——82347983.9842970073223114013671875,原因请参考下方用法链接。

想要数值恢复原样需要使用BigDecimal的String参数构造,而不是上面的Double参数构造,解决方案如下(注意红色部分):

方式A:
double num=8.2347983984297E7;
String str=new BigDecimal(num+"").toString();

方式B:
Double num=8.2347983984297E7;
String str=new BigDecimal(num.toString()).toString();

结果就成了你想要的样子:82347983.984297

参考用法:参考

(2)使用DecimalFormat类

double num=8.8888888E10;
String str=new DecimalFormat("0.00").format(num);//注意,这种方式是保留几位小数

参考用法:参考

2.在jsp页面中进行转换

(1)使用jstl标签fmt:formatNumber

导入:<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
使用 :<fmt:formatNumber value="8.8888888E10" pattern="#.##" minFractionDigits="2" > </fmt:formatNumber> 

参考用法:参考

(2)使用js脚本

var num=8.8888888E10;
var str=parseFloat(num).toString();

参考用法:参考
展开阅读全文

没有更多推荐了,返回首页