Code veröffentlichst Du nicht als Bild im Screenshot, sondern per Copy-Paste, markieren und dann mit dem Zahnradsymbol-vor-Blatt-Papier-Button (3. v. re) als Codeblock (passende Sprache auswählen).
Skript welche Zahl in Buchstaben umwandelt
Anmeldungsdatum: Beiträge: 17552 Wohnort: Berlin |
|
||
Anmeldungsdatum: Beiträge: 11179 Wohnort: München |
Falls das in die Bewertung der Lösung einfließt, würde ich mir die Schreibweise der Zahlen zwischen 15 und 17 noch mal genau ansehen (https://deutschlernerblog.de/deutsche-zahlen-von-1-bis-100-lernen/) und du kannst auf modernen Systemen ohne Probleme Umlaute und Sonderzeichen in Shell-Skripten nutzen (in C++ ist das mit Unicode-Strings ja etwas aufwändiger). |
||
(Themenstarter)
Anmeldungsdatum: Beiträge: Zähle... |
Wenn ich 1Million und eins eingebe springt er nicht zum else(zeile 14), weil es bei der Zeile 8 auf eins rundet. Wie kann ich es ändern damit in der variable mil die ganze zahl gespeichert wird also in diesem fall :1,000001? |
||
(Themenstarter)
Anmeldungsdatum: Beiträge: 25 |
ist doch noch nicht ganz gelöst 😀 aber die Schreibweise siehst du ja auf dem bild auch |
||
Anmeldungsdatum: Beiträge: 11179 Wohnort: München |
Die Shell selbst kann nicht mit Fließkommazahlen rechnen, sondern ist auf Integer begrenzt. Wenn du das Rechnen mit Fließkommazahlen benötigst, kannst du Programme wie bc oder dc einspannen - vgl. Taschenrechner (Abschnitt „Terminal“). Die Zahl der Stellen (aka die Länge des Strings) herauszufinden ist aber nicht schlimm - da geht mit |
||
(Themenstarter)
Anmeldungsdatum: Beiträge: 25 |
Mit dem bc habe ich das so wie in der zeile 8 schon ausprobiert, aber es führt zu fehlern |
||
Anmeldungsdatum: Beiträge: 11179 Wohnort: München |
Vergleiche mit Fließkommazahlen sind in der Bash nicht so einfach möglich - ein Vergleich mit 1000000 (für das Code-Stück ab Zeile 8) wäre da doch eigentlich einfacher und für die Zahl der Millionen reicht eine Integerdivision:
|
||
(Themenstarter)
Anmeldungsdatum: Beiträge: 25 |
Ja hast recht vielen Dank ☺ |