欢迎来到双子树教育网!
安顺
切换分站
双子树教育网 > 安顺新闻资讯 > 安顺计算机/IT资讯 > 安顺JAVA动态 >  java_double保留几位小数(double如何保留两位

java_double保留几位小数(double如何保留两位

发布时间:2022-05-17 11:07:03  来源:双子树教育网   浏览:   【】【】【

  java开发培训

  最近使用Java开发中遇到一些场景需要对数值进行小数点精确度的限制。如保留小数点后四位,索性梳理一下相关的方法,大概六种方式,直接贴代码,如下:

  import java.math.BigDecimal;

  import java.text.DecimalFormat;

  import java.text.NumberFormat;

  public class TestDemo{

  public static void main(String] args) {

  double num1 = 100.13145;

  //保留4位小数 100.1315 四舍五入

  BigDecimal bigDecimal = new BigDecimal(num1);

  double num2 = bigDecimal.setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue();

  System.out.println(num2);

  // 保留4位小数 100.1315 四舍五入

  DecimalFormat decimalFormat = new DecimalFormat("#.0000");

  String stringValue = decimalFormat.format(num1);

  System.out.println(stringValue);

  Double doubleValue = Double.parseDouble(decimalFormat.format(num1));

  System.out.println(doubleValue);

  // 保留4位小数 100.1315 四舍五入

  System.out.println(String.format("%.4f", num1));

  // 保留4位小数 100.1315 四舍五入

  Double get_double = (double) ((Math.round(num1 * 10000)) / 10000.0);

  System.out.println(get_double);

  // 保留4位小数 100.1315

  NumberFormat numberFormat = NumberFormat.getNumberInstance();

  numberFormat.setMaximumFractionDigits(4);

  System.out.println(numberFormat.format(num1));

  // 保留4位小数 100.1314

  float num3 = (float) 100.13145;

  float a = (float) (Math.round(num3 * 10000)) / 10000;

  System.out.println(a);

  }

  }

本文来源:

责任编辑:双子树编辑团队
相关评论我来说两句
© 双子树教育网 皖ICP备2022015392号-4