java精确小数位数的几种方法

  • Post author:
  • Post category:java



java中精确小数位数的几种方法



  1. /*



  2. * 这里假设精确到小数点后5位



  3. */





  4. public




    class


    AccurateDecimalPart {



  5. public




    static




    void


    main(String[] args) {



  6. double


    d =


    3.1415926535


    ;



  7. /*第一种方法,直接用格式化输出*/




  8. System.out.format(

    “%.5f”


    ,d);


  9. System.out.println();



  10. /*第二种方法,使用DecimalFormat*/




  11. DecimalFormat df =

    new


    DecimalFormat();


  12. df.setMinimumFractionDigits(

    5


    );


  13. System.out.println(df.format(d));



  14. /*第三种方法*/




  15. BigDecimal bd =

    new


    BigDecimal(d,


    new


    MathContext(


    6


    , RoundingMode.HALF_UP));


  16. System.out.println(bd);



  17. /*第四种方法是除法操作然后保留到小数点后5位,对于一个数可以除以1然后保留*/




  18. BigDecimal bd2 =

    new


    BigDecimal(d);


  19. System.out.println(bd2.divide(

    new


    BigDecimal(


    1


    ),


    5


    ,RoundingMode.HALF_UP));



  20. }

  21. }