1. 1
    package com.itheima_01;
  2. 2
  3. 3 import java.math.BigDecimal;
  4. 4 import java.text.DecimalFormat;
  5. 5 import java.text.NumberFormat;
  6. 6
  7. 7 public class Demo03 {
  8. 8 public static void main(String[] args) {
  9. 9 /*
  10. 10 保留指定小数点后位数
  11. 11 */
  12. 12 double a = 1.0123456789123456789;
  13. 13 //方法一:最简单的方法,调用DecimalFormat类
  14. 14 //指定保留小数点后几位
  15. 15 DecimalFormat df = new DecimalFormat(".0000000000");
  16. 16 //转换
  17. 17 String str = df.format(a);
  18. 18 //String转double
  19. 19 double v = Double.parseDouble(str);
  20. 20 System.out.println(v);
  21. 21
  22. 22 //方法二:直接通过String类的format实现
  23. 24 String str2 = String.format("%.10f", a);
  24. 25 double v2 = Double.parseDouble(str2);
  25. 26 System.out.println(v2);
  26. 27 //方法三:通过BigDecimal实现
  27. 28 BigDecimal bd = new BigDecimal(a);
  28. 29 double v1 = bd.setScale(11, BigDecimal.ROUND_HALF_UP).doubleValue();
  29. 30 System.out.println(v1);
  30. 31
  31. 32 //方法四:通过NumberFormat类实现
  32. 33 NumberFormat nf = NumberFormat.getNumberInstance();
  33. 34 nf.setMaximumFractionDigits(12);
  34. 35 String s = nf.format(a);
  35. 36 double v3 = Double.parseDouble(s);
  36. 37 System.out.println(v3);
  37. 38
  38. 39
  39. 40 }
  40. 41 }

 

版权声明:本文为yanjy原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/yanjy/p/13851240.html