java programm- nachkommastellen

agosinga

Grünschnabel
Wie kann ich es so einstellen, dass die Promille mit zb. 4 Nachkommastellen ausgegeben werden?
Bei manchen Beträgen hab ich bis zu 20 nachkommastellen.
Eher dringend.

DANKE




import java.util.*;

public class Bsp06{


public static void main(String[] args){

Scanner myScanner = new Scanner (System.in);
double Taler, Euro, GeldBetrag;
double Provision;

Euro = 3.14;

System.out.println();

System.out.print("Geben Sie den gewuenschten Wechselbetrag in Euro ein: ");
GeldBetrag = SavitchIn.readLineDouble();



Taler = GeldBetrag/Euro;
double Kreuzer = Taler*20;
Kreuzer = (int) (Math.round(Kreuzer));
Provision = Kreuzer/100;

double Promille = Provision/1000;
int taler1 = (int)Kreuzer/20; int kreuzer1 = (int)Kreuzer%20;

System.out.println();
System.out.println("Sie erhalten:;");

System.out.println(taler1 +" Taler; "+kreuzer1+" Kreuzer;");
System.out.println("Die Bank behaelt sich "+Promille+ " an Provision");

}
}
 
Da ich nicht glaube dass das direkt geht, machs per String bearbeitung...

double Promille = Provision/1000;
Wird dann zu:
String Promille = ""+Provision/1000; //Wandelt zu String um...
Promille = Promille.substring(0, Promille.indexOf(".")+4); //Kürzt die nachkommastellen weg

^ ^der rundet dann aber nicht....
Ich habs net getestet, Großkleinschreibung etc nochmal überarbeiten!!

EDIT: ich hatte , statt . geschrieben.. das war natürlich quatsch;-)
Mfg Orbit...
 
Zuletzt bearbeitet:
Benutz NumberFormat oder DecimalFormat:

Java:
NumberFormat nf = NumberFormat.getInstance();
nf.setMaximumFractionDigits(4);
nf.setMinimumFractionDigits(4);
nf.setRoundingMode(RoundingMode.HALF_UP);
String strg = nf.format(zahl);

@Orbit:

Mit ""+zahl etwas in einen String umzuwandeln ist nicht der schöne weg. Dafür gibt es Double.toString(zahl), Integer.toString(zahl) und neuerdings sogar String.valueOf(<soziemlichalles>).
 

Neue Beiträge

Zurück