AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Zahl auf ihre Natürlichkeit überprüfen
Thema durchsuchen
Ansicht
Themen-Optionen

Zahl auf ihre Natürlichkeit überprüfen

Ein Thema von -lx- · begonnen am 9. Okt 2005 · letzter Beitrag vom 9. Okt 2005
Antwort Antwort
Seite 1 von 2  1 2      
-lx-
(Gast)

n/a Beiträge
 
#1

Zahl auf ihre Natürlichkeit überprüfen

  Alt 9. Okt 2005, 01:47
Hallo!


Und zwar ist meine Farge, wie ich eine Zahl darauf überprüfen kann, ob sie eien Natürliche Zahl ist oder nicht. Also eine ganze Zahl und keinen Komma oder Restwert hat.

Ich will einen ansteigenden Wert durch 7 Zahlen teilen lassen und dann jeweils überprüfen, ob etwas gerades herauskommt.



mfg
Cya
  Mit Zitat antworten Zitat
Benutzerbild von Ultimator
Ultimator

Registriert seit: 17. Feb 2004
Ort: Coburg
1.860 Beiträge
 
FreePascal / Lazarus
 
#2

Re: Zahl auf ihre Natürlichkeit überprüfen

  Alt 9. Okt 2005, 01:50
Also willst du prakisch testen, ob eine Zahl durch 7 teilbar ist (ein Vielfaches von 7 ist)?

Wenn ja, dann teste, ob
Zahl mod 7 = 0 mod = Modulo -> gibt den Rest einer Division zurück^^

//edit: Zum Thema "etwas gerades": Meinst du, die Zahl, die rauskommt, soll zusätzlich gerade sein?
Dann nimm Delphi-Referenz durchsuchenodd. Die Funktion Odd gibt dir zurück, ob eine Zahl ungerade ist.
Julian J. Pracht
  Mit Zitat antworten Zitat
tigerman33

Registriert seit: 30. Jul 2005
Ort: München
423 Beiträge
 
Delphi 2005 Professional
 
#3

Re: Zahl auf ihre Natürlichkeit überprüfen

  Alt 9. Okt 2005, 10:03
Um zu prüfen ob eine (Fließkomma-)Zahl eine natürliche Zahl ist, müsste folgendes gehen:
Delphi-Quellcode:
var Zahl: real;
begin
  if Zahl - trunc(Zahl) = 0 then
    ShowMessage('Natürlich');
end;
Christian
Der Computer hilft mir, Probleme zu lösen, die ich ohne Computer nicht hätte.
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#4

Re: Zahl auf ihre Natürlichkeit überprüfen

  Alt 9. Okt 2005, 11:21
Zitat von tigerman33:
Um zu prüfen ob eine (Fließkomma-)Zahl eine natürliche Zahl ist, müsste folgendes gehen:
Delphi-Quellcode:
var Zahl: real;
begin
  if Zahl - trunc(Zahl) = 0 then
    ShowMessage('Natürlich');
end;
Fließkommazahlen sollte man nie auf Gleichheit überprüfen!
Delphi-Quellcode:
const
  Epsilon = 1E-6;

...

  if Abs(Value - Round(Value)) < Epsilon then
    ...
http://www.delphipraxis.net/internal...=242355#242355
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
tigerman33

Registriert seit: 30. Jul 2005
Ort: München
423 Beiträge
 
Delphi 2005 Professional
 
#5

Re: Zahl auf ihre Natürlichkeit überprüfen

  Alt 9. Okt 2005, 11:29
Das steht selbstverständlich nicht zur Diskussion. Um ehrlich zu sein, war ich nur ein wenig faul und hab mir das Leben einfacher gemacht...
Christian
Der Computer hilft mir, Probleme zu lösen, die ich ohne Computer nicht hätte.
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#6

Re: Zahl auf ihre Natürlichkeit überprüfen

  Alt 9. Okt 2005, 12:12
Das habe ich mir gedacht . Trotzdem ist der Code einfach falsch, den konnte ich so nicht stehen lassen .

[add] Mein Code stimmt aber auch nicht ganz :
Delphi-Quellcode:
function InN(const AValue: Single): Boolean;
const
  Epsilon = 1E-6;
begin
  Result := (AValue > 0) and (Abs(AValue - Round(AValue)) < Epsilon);
end;
[/add]
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
tigerman33

Registriert seit: 30. Jul 2005
Ort: München
423 Beiträge
 
Delphi 2005 Professional
 
#7

Re: Zahl auf ihre Natürlichkeit überprüfen

  Alt 9. Okt 2005, 12:19
Zitat:
Trotzdem ist der Code einfach falsch, den konnte ich so nicht stehen lassen
Ich wusste ja, dass du vorbeikommen und das berichtigen würdest.
Christian
Der Computer hilft mir, Probleme zu lösen, die ich ohne Computer nicht hätte.
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#8

Re: Zahl auf ihre Natürlichkeit überprüfen

  Alt 9. Okt 2005, 12:25
Das nenne ich Teamwork .
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
Chrissi91

Registriert seit: 28. Jul 2005
849 Beiträge
 
#9

Re: Zahl auf ihre Natürlichkeit überprüfen

  Alt 9. Okt 2005, 13:20
Jetzt komm ich wieder mit meinem pos

Geht das auch mit Pos?

Delphi-Quellcode:
if pos(edit2.text,',') then
begin
 //was hier passieren soll
end;
Müsste doch auch gehen, oder?

Würde dann meiner Meinung so aussehen.
Beide Variablen sind natürlich integer.

Delphi-Quellcode:
zaehler:=0;
repeat
zaehler:=zaehler+1;
zahl:=zaehler;
zahl:=zahl/7;
if pos(zahl,',')then showmessage('Zahl ist keine natürliche Zahl');
until i=100; //als Beispiel
(ungetestet)

Hoffe, ich konnte dir helfen, auch wenns unübersichtlich ist ...
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#10

Re: Zahl auf ihre Natürlichkeit überprüfen

  Alt 9. Okt 2005, 13:28
Dann aber bitte
Delphi-Quellcode:
if pos(edit2.text, DecimalSeperator) then
[...]

Das Problem mit der Fließkommaungenauigkeit ist damit aber nicht gelöst. Es ist nicht sicher, dassFloatToStr(2); wirklich kein Komma besitzt. Um das abzusichern, müsste man FloatToStrF benutzen, da ziehe ich meine Variante aber vor .
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:21 Uhr.
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