【Java/数字转字符串】将浮点数转字符串,并保留n位小数的四种方法

【说明】

数字转字符串并保留N位小数是常见操作,下面代码列举了四种可用方式,推荐第一种。

【代码】

package test240716;

import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.text.NumberFormat;

/**
 * 将浮点数转字符串,并保留n位小数的四种方法
 * @author ufo
 *
 */
public class Test1 {
    public static void main(String[] args) throws Exception{
        double d=Math.E;// 取欧拉数
        
        // 方法一(最推荐)
        String s=String.format("%.6f", d);
        System.out.println(s);
        
        // 方法二
        DecimalFormat df=new DecimalFormat("#.000000");
        String s1=df.format(d);
        System.out.println(s1);
        
        // 方法三
        NumberFormat nf=NumberFormat.getNumberInstance();
        nf.setMaximumFractionDigits(6);
        String s2=nf.format(d);
        System.out.println(s2);
        
        // 方法四
        BigDecimal bg=new BigDecimal(d);
        double f1=bg.setScale(6, BigDecimal.ROUND_HALF_UP).doubleValue();
        System.out.println(f1);
    }
}

输出结果:

2.718282
2.718282
2.718282
2.718282

END

posted @ 2019-12-29 14:40  逆火狂飙  阅读(146)  评论(0)    收藏  举报
生当作人杰 死亦为鬼雄 至今思项羽 不肯过江东