![]() |
Delphi-Version: XE
Trunc liefert falschen Wert
Hallo,
irgendwie scheint Trunc bei mir nicht ganz korrekt zu rechnen. Wenn ich einen Real-Wert von 9.7 x 10 multipliziere und daraus einen Integer mache, sollte es 97 sein, Trunc macht daraus aber 96:
Delphi-Quellcode:
Hat jemand eine Idee, woran das liegen könnte? Vielen Dank.
var ErgTemp : Real;
ErgTempInt : Integer; begin ErgTemp:=9.7; ErgTempInt:=Trunc(ErgTemp * 10); ShowMessage(IntToStr(ErgTempInt)); end; |
AW: Trunc liefert falschen Wert
|
AW: Trunc liefert falschen Wert
Deswegen:
Delphi-Quellcode:
Mavarik
var ErgTemp : Real;
ErgTempInt : Integer; begin ErgTemp:=9.7; ErgTemp := ErgTemp * 10; ErgTempInt:=Trunc(ErgTemp); ShowMessage(IntToStr(ErgTempInt)); end; |
AW: Trunc liefert falschen Wert
Also ich kriege wie erwartet 97 raus 8-)
|
AW: Trunc liefert falschen Wert
Komisch...
Delphi-Quellcode:
...gibt bei mir auch 96. Warum das bei dir 97 sind, ist mir ein Rätsel :roll:
var ErgTemp : Real;
ErgTempInt : Integer; begin ErgTemp:=9.7; ErgTempInt:=Trunc(ErgTemp * 10); ShowMessage(IntToStr(ErgTempInt)); end; |
AW: Trunc liefert falschen Wert
Oh, es wird wieder lustig. Herzlich Willkommen zu einer neuen Ausgabe von
Compiler - Magic Auf Win64 kommt bei mir 97 heraus. Bei Win32 kommt 96 heraus. Wer probiert iOS und Android aus? |
AW: Trunc liefert falschen Wert
9.7*10=96.999999999999999 -> trunc -> 96.
stimmt doch! bitte lesen: Dezimalsysten <-> Binärsystem |
AW: Trunc liefert falschen Wert
Und warum dann mit Win32 und Win64 zwei unterschiedliche Werte. Hab es soeben auch nachvollziehen können.
|
AW: Trunc liefert falschen Wert
Darf ich mal dezent auf #2 hinweisen?
oder anders herum trunc(96.9999999999999999999) ist nun mal 96 und trunc(97.0000000000000000001) ist 97! Gruß K-H |
AW: Trunc liefert falschen Wert
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:37 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 by Thomas Breitkreuz