Java, Ganzzahl-Arithmetik bei prozentrechnung?
Heyoo, also ich soll ein Programm schreiben, in dem ab einem bestimmten Betrag eine gewisse Prozentzahl "rabatt" abgezogen werden soll allerdings soll man Ganzzahl-Arithmetik verwenden was bei integer nicht geht und bei double mit dem wert 0.10 (für 10%) wird eine Gleitpunkt operation durchgeführt. Aber die Zahl soll dann als eine ganzzahl ausgegeben werden. Eine andere Lösung außer ->> int variable = (int) gleitpunktvariable;
Hier der quellcode:
// import usw. wurde bereits erledigt :)
Scanner scan = new Scanner(System.in);
final double mindestBetrag = 1000, rabatt = 0.10;
double betrag, rabattpreis;
System.out.println("Geben sie den Betrag in Cent ein: ");
betrag = scan.nextInt();
if (mindestBetrag <= betrag)
{
rabattpreis = (betrag-(betrag * rabatt));
}
else
{
rabattpreis = (betrag);
}
System.out.println("Gesamtrabatt: " + rabattpreis);
1 Antwort
Wenn nach ganzzahliger Arithmetik gefragt ist, hat der Datentyp "double" in dem Programmfragment nichts verloren.
Beträge bildet man in Cent ab und Prozentrechnung wird mithilfe einer Teilung durch Hundert realisiert. Runden geschieht dabei durch
(betrag * prozent + 50) / 100
Ich habe es grad selbst rausgefunden ich musst einfach statt *0.10, /10 teilen aber trotzdem danke :)