AGB  ·  Datenschutz  ·  Impressum  







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

Plötzlich auftretenes Rundungsproblem

Ein Thema von Sourcemaker · begonnen am 15. Dez 2004 · letzter Beitrag vom 16. Dez 2004
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Sourcemaker
Sourcemaker

Registriert seit: 3. Sep 2003
Ort: Westoverledingen
264 Beiträge
 
Delphi 11 Alexandria
 
#1

Plötzlich auftretenes Rundungsproblem

  Alt 15. Dez 2004, 13:17
Hallo,

ich bin gestern von einem Kunden über eine Rundungsproblematik hingewiesen worden.
Das Problem tritt bei den Funktionen FormatFloat und Str auf. Eine Berechnung die im
vorliegenden Fall 9,32 EUR ergeben müsste 3,45*3/0,9=9,315 wird durch die o.g. Funktionen
als 9,31 EUR ausgegeben.
Beim Kunden trat das Problem aus verschiedenen Rechnern auf d.h. einer zeigte richtig an
ein anderer falsch so dass ich erst an die Rechner dachte dann konnte ich das Problem auch
an meinen Entwicklungsrechner provozieren. Das Problem trat zumindestens nachvollziehbar auf
nachdem das Programm über Indy eine FTP-Verbindung machte. Beim Kunden jedoch wird dieses nicht ausgeführt so das ich davon ausgehe das es noch andere Faktoren geben muß.

Hat jemand etwas ähnliches erlebt bzw. weiß jemand wie sich FormatFloat und Str in
ihren Rundungsverhalten beeinflussen lassen.

Grüße

Frank
Frank
  Mit Zitat antworten Zitat
Benutzerbild von freak4fun
freak4fun

Registriert seit: 22. Sep 2004
Ort: Hannover
1.807 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#2

Re: Plötzlich auftretenes Rundungsproblem

  Alt 15. Dez 2004, 13:20
Das könnte an den Systemeinstellungen liegen, so wie das Datum und die Währungseinheiten.

mfg
freak
Christian
IT: Schließen Sie bitte das Fenster. User: Die Tür auch?
i++; // zaehler i um 1 erhoehen
  Mit Zitat antworten Zitat
Benutzerbild von Sourcemaker
Sourcemaker

Registriert seit: 3. Sep 2003
Ort: Westoverledingen
264 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: Plötzlich auftretenes Rundungsproblem

  Alt 15. Dez 2004, 14:16
Welche Systemeinstellung ?

Die für mich relevanten setzte ich beim Programmstart z.B.:

Delphi-Quellcode:
   Application.UpdateFormatSettings := False;
   CurrencyDecimals := 2;
   DateSeparator := '.';
   DecimalSeparator := ',';
   LongDateFormat := 'dd.mm.yyyy';
   LongTimeFormat := 'HH:MM:SS';
   ShortDateFormat := 'dd.mm.yy';
   ShortTimeFormat := 'HH:MM';
   ThousandSeparator := '.';
   TimeSeparator := ':';
Grüße

Frank
Frank
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#4

Re: Plötzlich auftretenes Rundungsproblem

  Alt 15. Dez 2004, 14:20
Zitat von Sourcemaker:
3,45*3/0,9=9,315

Wie kommst du da auf 9,315?
Was hältst du von 11,5
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Plötzlich auftretenes Rundungsproblem

  Alt 15. Dez 2004, 14:22
Ich will ja nichts sagen, aber ich bekomme da 11,5 raus.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von freak4fun
freak4fun

Registriert seit: 22. Sep 2004
Ort: Hannover
1.807 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#6

Re: Plötzlich auftretenes Rundungsproblem

  Alt 15. Dez 2004, 14:38
Und wo steht da das bei 5 aufgerundet wird?

mfg
freak
Christian
IT: Schließen Sie bitte das Fenster. User: Die Tür auch?
i++; // zaehler i um 1 erhoehen
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#7

Re: Plötzlich auftretenes Rundungsproblem

  Alt 15. Dez 2004, 14:38
Hey!

Das is ja im Prinzip egal! Interessant ist ja nur wie manche PCs auf 9.31 kommen und andere auf 9.32 - Schon mal mit der folgenden Procedure probiert: (Kenn ich halt von Delphi 7 - weiß net ob es die in Pascal auch gibt ):
Code:
i:=RoundTo(9.315, -2);
PS: Bei mir liefert das aber auch 9.31... Keine Ahnung warum! Oder du musch dir halt deine eigene Routine schreiben... Wird dir wohl nix anderes übrig bleiben - aber dann macht das auch sicher jeder Rechner gleich

mfg shark
  Mit Zitat antworten Zitat
Benutzerbild von ibp
ibp

Registriert seit: 31. Mär 2004
Ort: Frankfurt am Main
1.511 Beiträge
 
Delphi 7 Architect
 
#8

Re: Plötzlich auftretenes Rundungsproblem

  Alt 15. Dez 2004, 14:43
prozentrechnen will gelernt sein...

Code:
3,45*3*0,9=9,315=3,45*3/1,01
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#9

Re: Plötzlich auftretenes Rundungsproblem

  Alt 15. Dez 2004, 14:47
Zitat:
RoundTo uses “Banker’s Rounding”
Wie runden denn "Bänker"?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#10

Re: Plötzlich auftretenes Rundungsproblem

  Alt 15. Dez 2004, 14:49
Zitat von Luckie:
Wie runden denn "Bänker"?
X = Wert in Euro,Cent

Trunc(X + 0,005) => gerundeter Wert.

......
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  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 11:40 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