Frage von milkyway2, 44

Wie kann ich aus einer 3-stelligen Zahl eine Kommazahl machen in Java?

Zum Beispiel wenn ich 250 Cent habe, dass mir diese in 2,50€ erscheinen. (Modulo vielleicht? (ohne double-Verwendung))

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von ceevee, 25

int input = 250;

int cent = input % 100;

int euro = (input - cent) / 100;

und dann müsstest du den String zusammensetzen, also:

String output = euro + "," + cent + "€";

So müsste das gehen. Wenn es keine anderweitigen Vorgaben gibt, dann würde ich allerdings von Anfang an einen passenden Datentyp - sprich double - verwenden.

Kommentar von milkyway2 ,

Ah, Dankeschön, das ist es! Ich habe nicht daran gedacht die Euro und Cent in extra Int zu zuzuweisen.

Expertenantwort
von KnusperPudding, Community-Experte für Java, 33

Wie in Mathe auch: Multipliziere die Zahl mit 0,01:

System.out.println(250 * 0.01);
Kommentar von milkyway2 ,

Danke, ja das klappt. :D (aber ich probiere das Kommazahlen zu umgehen)

Kommentar von TheAceOfSpades ,

Hier wird doch aber auch nur ein double / float verwendet.

Kommentar von KnusperPudding ,

Wenn du keine Komma-Zahlen verwenden willst, was dann? Die Nachkomma-Werte in eine eigene Variable schreiben?

Antwort
von TheAceOfSpades, 38

Also mit Modulo würde es so gehen:

Ja z.B. 250 mod 100 ergibt den Cent Betrag.

(250 - (250 mod 100)) / 100 ergibt den Euro Betrag.

Kommentar von milkyway2 ,

Danke für deine Antwort, leider kommt bei mir nur der Rest 2 raus, ich dachte man könne das Komma um eine Stelle verschieben. ich probiers mal weiterhin, aber Dankeschön.

Kommentar von TheAceOfSpades ,

C/C++

int betrag = 250, euro = 0, cent = 0;

cent = betrag%100;

euro = (betrag - cent)/100;

printf("%i.%i€", euro, cent);

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten