Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Feststellen ob Zahl durch 3 Teilbar (https://www.delphipraxis.net/79948-feststellen-ob-zahl-durch-3-teilbar.html)

frielix 31. Okt 2006 17:04


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:
if not length(vK) mod 3 = 0 then
 begin
  repeat
   vk := '0' + vK;
  until length(vK) mod 3 = 0;
 end;
Aber irgendwie geht das, wenn nur noch ein Zeichen fehlt, bis es durch 3 teilbar wird. Also bei 2, 5, 8, 11, usw...
Aber wen vK nur ein (oder 4, 7, ...) Zeihen hat passiert gar nicht...

Waran liegt das??

MfG Felix :wink:

bigg 31. Okt 2006 17:12

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...

Nicolai1234 31. Okt 2006 17:14

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;

Sunlight7 31. Okt 2006 17:17

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:

DerDan 31. Okt 2006 17:18

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

idontwantaname 31. Okt 2006 17:24

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 ;)

Khabarakh 31. Okt 2006 17:25

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;

Axxus 31. Okt 2006 17:26

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

frielix 31. Okt 2006 17:27

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!

Jelly 31. Okt 2006 22:22

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 17:09 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz