Java - 2桁の小数点を表示する

Java –小数点以下2桁で表示

Javaでは、小数点以下2桁でdoubleを表示する方法はいくつかあります。

Note
これを読むRoundingMode

1. DecimalFormat

DecimalExample.java

package com.example;

import java.math.RoundingMode;
import java.text.DecimalFormat;

public class DecimalExample {

    private static DecimalFormat df2 = new DecimalFormat("#.##");

    public static void main(String[] args) {

        double input = 3.14159265359;
        System.out.println("double : " + input);
        System.out.println("double : " + df2.format(input));    //3.14

        // DecimalFormat, default is RoundingMode.HALF_EVEN
        df2.setRoundingMode(RoundingMode.DOWN);
        System.out.println("\ndouble : " + df2.format(input));  //3.14

        df2.setRoundingMode(RoundingMode.UP);
        System.out.println("double : " + df2.format(input));    //3.15

    }

}

出力

double : 3.14159265359
double : 3.14
double : 3.14
double : 3.15

2. String.format

StringFormatExample.java

package com.example;

public class StringFormatExample {

    public static void main(String[] args) {

        double input = 3.14159265359;
        System.out.println("double : " + input);
        System.out.println("double : " + String.format("%.2f", input));
        System.out.format("double : %.2f", input);

    }

}

出力

double : 3.14159265359
double : 3.14
double : 3.14

3. BigDecimal

BigDecimalExample.java

package com.example;

import java.math.BigDecimal;
import java.math.RoundingMode;

public class BigDecimalExample {

    public static void main(String[] args) {

        double input = 3.14159265359;
        System.out.println("double : " + input);

        BigDecimal bd = new BigDecimal(input).setScale(2, RoundingMode.HALF_UP);
        double newInput = bd.doubleValue();

        System.out.println("double : " + newInput);

    }

}

出力

double : 3.14159265359
double : 3.14