Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi wie die letzten 2 zeichen eines integer Wertes ermitteln (https://www.delphipraxis.net/121069-wie-die-letzten-2-zeichen-eines-integer-wertes-ermitteln.html)

gemy 12. Mai 2020 10:02

AW: wie die letzten 2 zeichen eines integer Wertes ermitteln
 
Danke Himitsu, deine Beiträge helfen mir oft weiter :)

Zitat:

Zitat von himitsu (Beitrag 1464210)
Du willst jetzt also für einen Integer über unrundbare Fließkommazahlen gehen?

Delphi-Referenz durchsuchenDIV und Delphi-Referenz durchsuchenMOD und Delphi-Referenz durchsuchenDivMod

Delphi-Quellcode:
d00X = i mod 10;
d0X0 = (i div 10) mod 10;
dX00 = (i div 100) mod 10;
...

Delphi-Quellcode:
DivMod(i, 10, i, d00X); // d00X := i mod 10; i := i div 10;
DivMod(i, 10, i, d0X0); // d0X0 := i mod 10; i := i div 10;
DivMod(i, 10, i, dX00); // dX00 := i mod 10; i := i div 10;
...
Bzw. hier im Beispiel naturürlich, für Beide zusammen.
Delphi-Quellcode:
LastZwo := i mod 100;


Alallart 12. Mai 2020 10:22

AW: wie die letzten 2 zeichen eines integer Wertes ermitteln
 
Ich weiß nicht ob das einer schon ähnlich gemacht hat:

Delphi-Quellcode:
var
  i, k: Integer;
begin
  k := Random(1000);

  i := Round(Frac(k / 100) * 100);
i enthält die letzten zwei Zahlen eines Integers.

himitsu 12. Mai 2020 10:38

AW: wie die letzten 2 zeichen eines integer Wertes ermitteln
 
Kann man machen, aber siehe letzte Zeile in Post #7
Zitat:

Zitat von himitsu (Beitrag 1464210)
Bzw. hier im Beispiel naturürlich, für Beide zusammen.
Delphi-Quellcode:
LastZwo := i mod 100;

Es ist ein Integer, wenn man da keinen Fließkomma-
Delphi-Quellcode:
/
sondern ein Ganzahl-
Delphi-Quellcode:
DIV
benutzt oder direkt gleich ein Ganzzahl-
Delphi-Quellcode:
MOD
,
dann muß man am Ende nicht mehr runden.

PS: Wenn der Integer ganz groß ist (großer Int64 oder besser noch ein UInt64), dann könnte es es bei den Fließkommazahlen Rundungsfehler geben.

Zitat:

Delphi-Quellcode:
i := Round(Frac(k / 100) * 100);
i := Round(Trunc(k / 100) * 100);

Round+Frac = MOD
Round+Trunc = Delphi-Referenz durchsuchenRoundTo


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:29 Uhr.
Seite 2 von 2     12   

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