Java >> Java tutorial >  >> Java

Sådan afrundes dobbelte eller flydende værdier til 2 decimaler

Nogle gange mens du arbejder med double og flyder , skal vi afrunde dem til specifikke decimaler til beregning. Butikker afrunder f.eks. slutpris til 2 decimaler med halv-op-afrunding.

Eksempel #1

Indgang:12

output :12.00

Eksempel #2

Input:18.888

output :18,89

1. Dette eksempel bruger konsolindgang med dobbelt

import java.text.DecimalFormat;
import java.util.Scanner;

public class Hello {
    private static DecimalFormat decimalFormat = new DecimalFormat(".00");

    public static void main(String ar[]) {
        System.out.print("Please enter number : ");
        Scanner in = new Scanner(System.in);
        double number = in.nextDouble();
        double roundOff = (double) Math.round(number * 100) / 100;
        String ns = decimalFormat.format(roundOff);
        System.out.println("Round off number up to 2 decimal place : " + ns);
    }
}

Udgange

Test # 1

Indtast venligst nummer:12
Afrund tal op til 2 decimaler:12.00

Test #2

Indtast venligst nummer:18.888
Afrund tal op til 2 decimaler:18,89

2. Brug af flydende variabel

import java.text.DecimalFormat;

public class Hello {
    private static DecimalFormat decimalFormat = new DecimalFormat(".00");

    public static void main(String ar[]) {

        float number = 24.989f;
        float roundOff = (float) Math.round(number * 100) / 100;
        String ns = decimalFormat.format(roundOff);
        System.out.println("Round off number up to 2 decimal place : " + ns);
    }
}

A. Formlen for eksempel er at runde op til 2 decimaler

Afrund

double roundOff = (double) Math.round(number * 100) / 100;

Formater

private static DecimalFormat decimalFormat = new DecimalFormat(".00");

B. Formlen for eksempel er at runde op til 3 decimaler

Afrund

double roundOff = (double) Math.round(number * 1000) / 1000;

Formater

private static DecimalFormat decimalFormat = new DecimalFormat(".000");

Anvendelser :Nogle gange i projektet havde vi brug for showpriser i formatet 189,00 USD eller 123,00 INR.

Det kan også være interviewspørgsmål for Java- og Android-udviklere.


Java tag