Рубрики
Без рубрики

Java – Отображение удвоения в 2 знаках после запятой

– Java -Дисплей удвоение в 2 знаках после запятой

В Java существует несколько способов отображения double в 2 десятичных знаках.

1. Десятичный формат

package com.mkyong;

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. Выход

package com.mkyong;

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. Большой десятичный

package com.mkyong;

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

Рекомендации

Оригинал: “https://mkyong.com/java/java-display-double-in-2-decimal-points/”