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.