浮点类型值以科学计数法显示

时间:2015-07-26 06:59:31

标签: java jsp formatting

MMCHAM8值为0.0005且数据类型为float,但在屏幕中显示的科学记数值如5.0E-4

<td>
    <input size="5" type="text" name="MMCHAM8" id="MMCHAM8" 
           readonly="readonly" ondblclick="alert(this.value)" 
           class="readonly_field"
           value="${mat.mmValues.MMCHAM8}" />
</td>`

2 个答案:

答案 0 :(得分:1)

这不是十六进制,而是scientific notation。 5.0E-4表示5 * 10 -4 ,当然等于0.0005。

如果您希望以不同方式显示,可以使用DecimalFormat

DecimalFormat df = new DecimalFormat("#.####");
String formatted = df.format(mat.mmValues.MMCHAM8);

(只在JSP页面中回显formatted

答案 1 :(得分:0)

有很多选项可供选择&gt;

  1. 使用DecimalFormat

    NumberFormat f = new DecimalFormat("#.0000");
    f.format(mat.mmValues.MMCHAM8);
    
  2. 使用String.format()

    String.format("%.4f", mat.mmValues.MMCHAM8)
    
  3. 使用JSTL内置功能:

    <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
    <fmt:formatNumber type="number" maxFractionDigits="4" value="${mat.mmValues.MMCHAM8}" />