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

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();

参考用法: 参考
  • 5
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值