Java中由于数据太大自动转换成科学计数法解决方式

1.java后台

(1)使用BigDecimal类

方式一:String str=new BigDecimal(num+"").toString();
方式二:String str=new BigDecimal(num.toString()).toString();

(2)使用DecimalFormat类
//注意,这种方式是保留几位小数
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="num " pattern="#.##" minFractionDigits="2" > </fmt:formatNumber> 

(2)使用js脚本
var str=parseFloat(num).toString();

* num : 科学计数法表示的数据

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>

<html>
<head>
  <title>JSTL fmt:formatNumber 标签</title>
</head>
<body>
<h3>数字格式化:</h3>
<c:set var="balance" value="120000.2309" />
<p>格式化数字 (1): <fmt:formatNumber value="${balance}" 
            type="currency"/></p>
<p>格式化数字 (2): <fmt:formatNumber type="number" 
            maxIntegerDigits="3" value="${balance}" /></p>
<p>格式化数字 (3): <fmt:formatNumber type="number" 
            maxFractionDigits="3" value="${balance}" /></p>
<p>格式化数字 (4): <fmt:formatNumber type="number" 
            groupingUsed="false" value="${balance}" /></p>
<p>格式化数字 (5): <fmt:formatNumber type="percent" 
            maxIntegerDigits="3" value="${balance}" /></p>
<p>格式化数字 (6): <fmt:formatNumber type="percent" 
            minFractionDigits="10" value="${balance}" /></p>
<p>格式化数字 (7): <fmt:formatNumber type="percent" 
            maxIntegerDigits="3" value="${balance}" /></p>
<p>格式化数字 (8): <fmt:formatNumber type="number" 
            pattern="###.###E0" value="${balance}" /></p>
<p>美元 :
<fmt:setLocale value="en_US"/>
<fmt:formatNumber value="${balance}" type="currency"/></p>
</body>
</html>

运行结果如下:

数字格式化:

格式化数字 (1): ¥120,000.23

格式化数字 (2): 000.231

格式化数字 (3): 120,000.231

格式化数字 (4): 120000.231

格式化数字 (5): 023%

格式化数字 (6): 12,000,023.0900000000%

格式化数字 (7): 023%

格式化数字 (8): 120E3

美元 : $120,000.23

jstl标签fmt:formatNumber的使用详情请见http://www.runoob.com/jsp/jstl-format-formatnumber-tag.html

原文地址:https://www.cnblogs.com/xsl1995/p/10044970.html