如何在java中将十进制数字格式化为两个小数点?

时间:2012-05-15 10:55:10

标签: java bigdecimal number-formatting

  

可能重复:
  Round to 2 decimal places

假设在变量中我有一个十进制数,如3.1426384473,但我想要3.14。现在我如何格式化十进制数字最多两个小数点,如上例所示。

3 个答案:

答案 0 :(得分:3)

double pi = 3.1426384473;

System.out.printf( “%2f上。”,PI);

答案 1 :(得分:1)

试试这个......

DecimalFormat df = new DecimalFormat("#.##");
df.format(3.1426384473);

或者,如果你只想打印,那么你也可以使用它......

System.out.printf("%.2f",d); //d is your number

答案 2 :(得分:0)

public static double round(double value, int places) {
    if (places < 0) throw new IllegalArgumentException();

    long factor = (long) Math.pow(10, places);
    value = value * factor;
    long tmp = Math.round(value);
    return (double) tmp / factor;
}