この記事では、2つの小数点形式の `double`変数を表示するためのいくつかの例を示します。

1. DecimalFormatの例

TestDouble.java

package com.mkyong.test;

import java.text.DecimalFormat;

public class TestDouble{

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

    public static void main(String[]args) {

        double input = 32.123456;
        System.out.println("double : " + input);
        System.out.println("double : " + df2.format(input));

    }

}

出力

double : 32.123456
double : 32.12

デフォルトでは

DecimalFormat`は

RoundingMode.HALF__EVEN`を使います。

TestDouble.java

package com.mkyong.test;

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

public class TestDouble {

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

    public static void main(String[]args) {

        double input = 32.123456;
        System.out.println("double : " + input);
        System.out.println("double (default) : " + df2.format(input));

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

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

    }

}

出力

double : 32.123456
double (default) : 32.12
double (UP) : 32.13
double (DOWN) : 32.12

2. String.formatの例

TestDouble.java

package com.mkyong.loan;

public class Test{

    public static void main(String[]args) {

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

    }

}

出力

double : 32.123456
double : 32.12