![]() |
Feststellen ob Zahl durch 3 Teilbar
So, mein Programm soll schauen ob die Variable durch 3 zu teilen geht, ansonsten sollen soviele Nullen vorn drangemacht werden bis es geht
Habe mir gedacht das das so hier geht:
Delphi-Quellcode:
Aber irgendwie geht das, wenn nur noch ein Zeichen fehlt, bis es durch 3 teilbar wird. Also bei 2, 5, 8, 11, usw...
if not length(vK) mod 3 = 0 then
begin repeat vk := '0' + vK; until length(vK) mod 3 = 0; end; Aber wen vK nur ein (oder 4, 7, ...) Zeihen hat passiert gar nicht... Waran liegt das?? MfG Felix :wink: |
Re: Feststellen ob Zahl durch 3 Teilbar
moin,
was soll das Ziel deines Programms sein, eine Zahl in ein leserliches Format bringen? Beschreib mal genauer was du eigentlich vor hast... |
Re: Feststellen ob Zahl durch 3 Teilbar
so gehts:
Delphi-Quellcode:
if not (length(vK) mod 3 = 0) then
begin repeat vk := '0' + vK; until length(vK) mod 3 = 0; end; |
Re: Feststellen ob Zahl durch 3 Teilbar
Hallo!
Da Blick ich nicht durch... Was ist vK für ein Typ? Entweder was Zahlenmäßiges, dann kannst Du nicht '0' dran hängen oder ein String, dann kannst Du nicht damit rechnen. Und warum vorne Nullen dran hängen :gruebel: :gruebel: :gruebel: Ob jetzt 4 : 3 oder 00004 : 3, das macht doch keinen Unterschied... Oder soll das Ergebnis von Length(vk) durch 3 Teilbar sein? Meine (altmodische :mrgreen: ) Methode: Ergebnis:=(Frac(Length(vk) / 3)=0); :mrgreen: |
Re: Feststellen ob Zahl durch 3 Teilbar
Hallo
Eine Zahl lässt sich durch drei teilen, wenn sich die Quersumme durch drei teilen läßt! Durch anhängen von Nullen ändert sich die Quersumme aber nicht! -> dadurch bekommst du es nie hin, das sie sich durch drei teilen läßt mfg DerDan |
Re: Feststellen ob Zahl durch 3 Teilbar
Ich denke, er möchte die Länge des Strings vK auf eine durch 3 teilbare Zahl bringen ;)
|
Re: Feststellen ob Zahl durch 3 Teilbar
@Sunlight7 & DerDan: Der Titel mag etwas verwirren, aber im Code ist es doch nun wirklich offensichtlich.
Eine schönere Version:
Delphi-Quellcode:
if Length(vK) mod 3 <> 0 then
vK := StringOfChar('0', 3 - Length(vK) mod 3) + vk; |
Re: Feststellen ob Zahl durch 3 Teilbar
du mienst wohl eher hinten ne 0 dranhängen denn 020 = 20 das spielt keine rplle wieviele nulllen vorne dran sind (oder ich hab deine frage falsch verstanden) dann muss die zahl am ende ne ganze zahloder ne kommazahl???
Und was is wenns ne periodische zahl is doll nur dann ne 0 angehängt werden??? Axxus |
Re: Feststellen ob Zahl durch 3 Teilbar
So, ich hatte mich vielleicht etwas undeutlich ausgedrückt, aber das was Nicolai1605 geschrieben hat, war genau das was ich wissen wollte :thumb:
Ich möchte eine Zahl in Dreierpärchen aufteilen (warum ist ja jetzt völlig egal :mrgreen: ) daher muss die Länge der Augangszahl durch 3 Teilbar sein... @Sunlight7: Dazu gibt es StrToInt(vK) :wink: Also nochmal danke an alle! |
Re: Feststellen ob Zahl durch 3 Teilbar
Warum nicht einfach die Format Funktion nutzen:
Delphi-Quellcode:
function Dreier (Zahl : integer) ;
begin Dreier := Format ('%.3d',[Zahl]) ; end ; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:26 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz