Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - round geht nich


Delete - So 21.03.04 18:20
Titel: round geht nich
Also ich hab hier n extended und würde gerne ein integer drauß machen. hab rausgefunden, dass das mit Round gehen soll, aber irgendwie geht dann gar nix.. GIbts n anderen Befehl dafür?

nGerrit


Christian S. - So 21.03.04 18:22

Was geht denn nicht?


Delete - So 21.03.04 18:34

also ich weiße dem array vorher 0 zu und nach dem round geht steht da immernoch 0 drin

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
For index := 1 To laenge Do
  Begin
    geheimtext2[index] := 0;
    geheimtext1[index] := intPower(ordtext[index],e);
  end;
geheimtext2[index] := round(geheimtext1[index]);


Tja und nachher steht immernoch 0 drin obwohl das nach der rechnung nicht geht!

nGerrit

Moderiert von user profile iconPeter Lustig: Code- durch Delphi-Tags ersetzt


Anonymous - So 21.03.04 18:36

Meinst du vielleicht das:


Delphi-Quelltext
1:
2:
3:
4:
5:
for index := 1 to laenge do
begin
 geheimtext1[index] := intPower(ordtext[index],e);
 geheimtext2[index] := round(geheimtext1[index]);
end;


?


Delete - So 21.03.04 18:44

genau


adler - So 21.03.04 18:45

Und was stehten in dem zu rundenden wert?
vllt. 0.432 oder sowas? dann ergibts ja null


Delete - So 21.03.04 18:51

also sowas wie 10^50 :D
ich potenziere ne ganze positive zahl mit ner ganzen positiven.. also ist immer was positives und eigentlich auch relativ groß
nGerrit


Christian S. - So 21.03.04 19:27

Dann scheint das Ganze also auf das Problem hinauszulaufen, dass Du hier [http://www.delphi-forum.de/viewtopic.php?t=23410] schon angesprochen hast! Wieso machst Du noch einen neuen Thread auf? :evil:


Delete - So 21.03.04 19:39

liegt warscheinlich daran, dass es mit int64 ja nicht geht. deswegen hab ichs mit extended versucht ^^ ist nunmal was anderes


Christian S. - So 21.03.04 19:43

Sorry, aber Round liefert einen Int64. Und den willst Du laut Deinem ersten Posting in einen Integer pressen. Wo ist da jetzt der Unterschied zu dem anderen Thread?

P.S.: Ein Blick in die Delphi-Hilfe hätte Dir verraten, dass 10^50 nicht in einen Integer passen ... :roll:


adler - So 21.03.04 19:44

stimmt ja, das passt net... passt ins LongInt? wenn net machstes halt in nen single oder sonst was...


Christian S. - So 21.03.04 19:46

In der 32bit-Version ist ein Integer ein LongInt. Ein Single ist aber kein Integer-Typ. Was spricht dagegen, es in einen Int64 zu packen?

(Ich denke, ich mache den anderen Thread mal zu. Das Thema scheint ja doch das gleiche zu sein.)