Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1324to1328
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Falsch geDimt?

Falsch geDimt?
26.07.2013 11:28:13
JACKD
Hallo gemeinde ich steh grad aufm Schlauch
Eine einfache MwSt berechnung macht mich alle =)
Ich hab einen Bruttobetrag (wird über ne TB eingetragen)
die MWst (Single)
Die Rechnung
"Theorie"

MWST = Bruttobetrag /(1+MWST)*MWST

"Praktisch"

.Cells(LNGlEinnahmenZeile + 1, 6) = Me.TBEinnahmeBetrag / (1 + SingMwst) * SingMwst

"Durchgeführt"
wenn ich nun 119 eingebe (in der textbox ) müsste 19€ raus kommen (mwst ist bei 19% justiert)
tatsächlich kommt als Ergebnis aber 18,9999988
Vielleicht könnte mir ja jemand verraten, wo ich nen Denkfehler hab?
Grüße
und Thanks in advance

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Falsch geDimt?
26.07.2013 11:36:20
Rudi
Hallo,
das ist ein reiner Rundungsfehler und vollkommen normal.
.Cells(LNGlEinnahmenZeile + 1, 6) = Worksheetfunction.Round(Me.TBEinnahmeBetrag / (1 + SingMwst) * SingMwst,2)
Gruß
Rudi

AW: Falsch geDimt?
26.07.2013 11:44:53
JACKD
Hallo Rudi
danke für deine Antwort
Ein reiner Rundungsfehler?
Wann rundet er hier denn falsch?
Ich habs mir jetzt mit ccur() zurecht gebogen
Grüße

AW: Falsch geDimt?
26.07.2013 11:48:34
Rudi
Hallo,
das ist ein generelles PC-Problem und hängt mit der internen Umwandlung in binäre Zahlen zusammen.
Google mal nach Gleitkommazahlen.
Gruß
Rudi

Anzeige
AW: Falsch geDimt?
26.07.2013 11:51:59
JACKD
Na gut, dann nehm ich das mal so hin :-D
Und wenn du das nächste mal an der Entwicklung von Excel arbeitest, möchte ich dich bitten, das du das anpasst .. ist ja ne Frechheit
:-D
Sonnige Grüße

wie schon gesagt, ...
26.07.2013 11:59:16
Rudi
Hallo,
... ist das kein reines Excel-Problem.
Gruß
Rudi

AW: Falsch geDimt? JA
26.07.2013 15:17:02
Daniel
denn mit dem Datentyp Double tritt er Effelt deutlich seltener auf.
Das Grundproblem ist, in jedem Zahlensystem bestimmte Zahlen bei begrenztem Speicherplatz nicht vollständig darstellbar sind (im Dezimalsystem bsp 1/3 = 0,333333 oder PI) und es so irgendwann zu Rundungsfehlern kommt.
je mehr Speicherplatz du für die Darstellung einer Zahl reservierst, um so besser ist die genauigkeit und um so kleiner der Fehler.
die Dimensionierung als Double ist schon mal ein Fortschritt.
Gruß Daniel

Anzeige
AW: Falsch geDimt? JA
26.07.2013 20:14:57
JAck
Hallo Daniel
Ich muss ja zugeben, ich hab erst gezweifelt =)
Aber folgender Test belegt es denk ich ganz eindrucksvoll (auch dass das Gesetz der großen Zahlen den Fehler immer mehr relativiert)
Die Aussage Seltener ist insofern aber nicht exakt, da der Fehler genau so häufig auftritt, nur mit einer anderen Genauigkeit =)
Wer nen langsamen PC hat, sollte vielleicht noch nen Speedcode zwischenschalten bzw. etappenweisse sich der Million nähern
Sub dimtest()
Dim singZahl As Single
Dim dblZahl As Double
singZahl = 1 / 5
dblZahl = 1 / 5
With Worksheets("Blatt1")
For i = 1 To 3
.Cells(i, 1) = singZahl
.Cells(i, 2) = dblZahl
Next i
.Cells(4, 1) = singZahl * 3
.Cells(4, 2) = dblZahl * 3
a = 6
For i = 0 To 1000000 Step 3
.Cells(a, 1) = singZahl * i
.Cells(a, 2) = dblZahl * i
.Cells(a, 3) = singZahl * i - dblZahl * i
a = a + 1
Next i
End With
End Sub
Grüße
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige