java科学计数法表示数值

Background

  • 大多数计算器及计算机程序用科学记数法显示非常大和非常小的结果;
  • 但很多时候,我们需要做一个统一,要么全部以科学计数法输出,要么就全部显示为普通计数。
  • 注意:这里对大于等于1的数据做了特殊处理,为了保证输出的结果展示形式是统一的。

java科学计数法表示数值_第1张图片

  • Const.java
package com.yunlu.groundwater.constants;

import com.yunlu.groundwater.gwParameters.entities.*;

import java.util.HashMap;
import java.util.Map;

public class Const {

    // tpl
    public static final String TPL_E1 = "%s+%s";

    // fmt
    public static final String FMT_DOUBLE = "0.00E00";
}

/**
     * @param val 数值
     * @return 返回科学计数法字符串
     */
    public static String scientificNotationString(Double val) {
        String res = new DecimalFormat(Const.FMT_DOUBLE).format(val);
        if (val >= 1) {
            int length = res.length();
            String prefix = res.substring(0, length-2);
            String suffix = res.substring(length-2, length);
            res = String.format(Const.TPL_E1, prefix, suffix);
        }
        return res;
    }

你可能感兴趣的:(Java,java,科学计数法)