Delphi/Lazarus: Zahl auf Tausenderstelle runden (12345678) auf (12345000)
Frage von Mahdi | 20.02.2014 um 21:41
Ich würde gerne eine Zahl auf die Tausender-Stelle runden. Also zum Beispiel die Zahl 12345678 auf 12345000.
Wie kann ich das mit Delphi oder Lazarus bewerkstelligen?
Ich habe in Delphi auch schon mit SetRoundMode herum probiert, aber das hat leider nicht zum gewünschten Erfolg geführt.
Ähnliche Themen
Delphi/Lazarus: 3 Wege um eine Zahl auf X Nachkommastellen zu runden
Tutorial | 0 Kommentare
Delphi/Lazarus: Funktion um Zahl auf beliebige Position vor oder nach Dezimalzeichen zu runden
Tutorial | 0 Kommentare
Delphi/Lazarus: Zahl auf die nächsten 10, 100 oder 1000 runden
Frage | 1 Antwort
Delphi/Lazarus: Kommazahlen aufrunden, abrunden und normal runden
Tipp | 1 Kommentar
Delphi/Lazarus: Link zu einer Website in einer Anwendung setzen
Tutorial | 0 Kommentare
PHP: Zahlen runden
Tutorial | 0 Kommentare
Delphi/Lazarus: Kommandozeilen Parameter Tutorial Teil 1: Senden
Tutorial | 0 Kommentare
Wichtiger Hinweis
Bitte beachten Sie: Die Beiträge auf askingbox.de sind Beiträge von Nutzern und sollen keine professionelle Beratung ersetzen. Sie werden nicht von Unabhängigen geprüft und spiegeln nicht zwingend die Meinung von askingbox.de wieder. Mehr erfahren.
Jetzt mitmachen
Stellen Sie Ihre eigene Frage oder schreiben Sie Ihren eigenen Artikel auf askingbox.de. So gehts.
Um auf die Tausender-Stelle zu runden, kannst du ihn Delphi nicht die normale round() Funktion verwenden, wie es zum Beispiel in PHP mit einer negativen Präzision möglich ist.
Probieren stattdessen einfach den folgenden Code aus:
Wenn du wie in deinem Beispiel immer abrunden möchtest, kannst du die Funktion floor oder trunc anstelle von round verwenden:
Du hast mich mit deiner Frage auf die Idee gebracht, eine kleine Funktion zu schreiben, mit der man in Delphi oder Lazarus eine Zahl auf eine beliebige Anzahl von Nachkommastellen runden kann. Diese Funktion akzeptiert positive oder negative Werte als zweiten Parameter um zu einer beliebigen Position vor oder nach dem Dezimaltrennzeichen zu runden.
20.02.2014 um 23:48
Vielleicht hilft dir auch die Funktion RoundTo weiter, die bereits in der Unit Math enthalten ist:
Oder mit dem Setzen von Round Mode:
SetRoundMode akzeptiert die folgenden Parameter:
Um die RoundTo-Funktion davon abzuhalten, aufzurunden, kannst du einfach den rmTruncate Modus verwenden.
21.02.2014 um 02:26