科学计数法转发成浮点数表示

Posted cyoba

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了科学计数法转发成浮点数表示相关的知识,希望对你有一定的参考价值。

private Double scientDouble;

    public Double getScientDouble() 
        return scientDouble;
    

    public void setScientDouble(Double scientDouble) 
        this.scientDouble = scientDouble;
    

    /**
     * @description:给Double类型赋值过大,或者过小时产生科学计数法.
     * 把科学计数法转换成浮点数表示
     * @author: 
     * @date: 2019/8/21
     * @param null:
     * @return: 
     */
    public static String scientificCountToFloat(Double scientStr)
        System.out.println(scientStr);
        String str[]=scientStr.toString().split("-");
        for (int i = 0; i <str.length ; i++) 
            System.out.println(str[i]);
        
        NumberFormat nf = NumberFormat.getInstance();
        //设置小数位数,通过算出科学计数法的小数位数,然后设置小数位数
        if (str.length>1)
            nf.setMaximumFractionDigits(Integer.valueOf(str[1]));
        

        //取消科学计数法
        nf.setGroupingUsed(false);
        return nf.format(scientStr);
    

 public static void main(String[] args) 
        MathUtil mathUtil=new MathUtil();
        mathUtil.setScientDouble(0.00000000000000000001);
        System.out.println(scientificCountToFloat(mathUtil.getScientDouble()););
    

 

以上是关于科学计数法转发成浮点数表示的主要内容,如果未能解决你的问题,请参考以下文章

JAVA如何将浮点数输出为指定位数的科学计数法?

计算机组成原理——浮点数的表示

计算机组成原理——浮点数的表示

5分钟聊聊浮点数的底层存储

5分钟聊聊浮点数的底层存储

浮点数在插入时变为科学计数法