保留小数的一些方法.

以四舍五入保留两位小数为例

  • 最朴素高效的方法
public static void method06(double d) {
    System.out.printf("%.2f\n",d);
}
  • 为什么已经有了最朴素高效的方法,还需要其他的

因为以下一些一些类还可以实现其他功能,四舍五入保留两位小数只是能力之一(格局打开)

import java.text.DecimalFormat;

public static void method02(double d) {
    DecimalFormat df = new DecimalFormat("0.00");
    System.out.println(df.format(d));
}
import java.text.NumberFormat;

public static void method03(double d) {
    NumberFormat nf = NumberFormat.getInstance();
    //设置最大分数位
    nf.setMaximumFractionDigits(2);
    //最小分数位
    nf.setMinimumFractionDigits(2);
    //是否用 "," 隔开
    nf.setGroupingUsed(false);
    System.out.println(nf.format(d));
}
import java.util.Formatter;

public static void method04(double d) {
    System.out.println(new Formatter().format("%.2f",d));
}
public static void method05(double d) {
    System.out.println(String.format("%.2f",d));
}
import java.math.BigDecimal;
import java.math.RoundingMode;

public static void method01(double d) {
    BigDecimal decimal = new BigDecimal(-d);
   //设置(精度,舍入规则)
    decimal=decimal.setScale(2, RoundingMode.HALF_UP);
    System.out.println(decimal.toString());
}
posted @ 2023-05-28 22:11  kd最棒  阅读(99)  评论(0)    收藏  举报