user2240097
user2240097

Reputation: 311

Float type value is showing in scientific notation

The MMCHAM8 value is 0.0005 and it's data type is float but in screen it is showing scientific notation value like 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>`

Upvotes: 1

Views: 823

Answers (2)

Crazyjavahacking
Crazyjavahacking

Reputation: 9707

There are many options on how to do it>

  1. use DecimalFormat:

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

    String.format("%.4f", mat.mmValues.MMCHAM8)
    
  3. use JSTL build in functionality:

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

Upvotes: 0

Mureinik
Mureinik

Reputation: 312086

This isn't hexdecimal, it's scientific notation. 5.0E-4 means 5 * 10-4, which is of course equal 0.0005.

If you want it displayed differently, you could use DecimalFormat:

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

(and just echo formatted in your JSP page)

Upvotes: 1

Related Questions