AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Rundungsproblem in Delphi

Ein Thema von norwegen60 · begonnen am 27. Jan 2025 · letzter Beitrag vom 29. Jan 2025
 
norwegen60

Registriert seit: 23. Dez 2007
Ort: Schwarzwald
514 Beiträge
 
Delphi 12 Athens
 
#1

Rundungsproblem in Delphi

  Alt 27. Jan 2025, 22:40
Hallo
ich habe ein ganz seltsamens Rundungsproblem, das ich mit einer bestimmten Zahl festgestellt habe.
Ich verwende folgenden Algorithmus zum Runden
Delphi-Quellcode:
function RoundToDecimals(rValue: Real; iDecimals: Integer): Real;
var
  Faktor,
  Wert: extended;
  iValue:Int64;
begin
  Faktor := IntPower (10, iDecimals);

  Wert:= rValue * Faktor;

  if rValue > 0 then
    Wert := Wert + 0.5
  else
    Wert := Wert - 0.5;

  iValue := trunc(Wert); // Hier zeigt Überwachte Ausdrücke iValue = 184132 und Wert = 184133 an

  Wert := iValue / Faktor;
  Result := Wert;
end;
Ich habe auch alle mögliche andere Vorschläge ausprobiert, aber keiner hat sicher geholfen.

Das Problem tritt nicht auf, wenn ich direkt RoundToDecimals(184.1325, 3) aufrufe.#
Sobald ich die Zahl 184.1325 aber aus einem EditFeld per TryStrToFloat('184.1325', rValue) ermittle, habe ich das Problem
Ich habe es auch mit Double und Extended probiert. Ohne Erfolg

Ich weiß keine andere Zahl, wo das auftritt, muss aber sicherstellen, dass immer korrekt gerundet wird.

Kann mir jemand sagen, woran das liegen könnte und wie ich es beheben kann.

Ich verwende Delphi 7

Vielen Dank
Gerd
  Mit Zitat antworten Zitat
 


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 05:20 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-2025 by Thomas Breitkreuz