Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1840to1844
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

Rundungspoblem bei Round-Funktion

Rundungspoblem bei Round-Funktion
14.08.2021 09:15:09
Martin
Hallo liebe Excel-Gemeinde,
ich habe ein Problem mit der Round-Funktion bei folgendem Makro:

Sub ZehntelSekunden()
Call Delay(5000)
End Sub
Sub Delay(lngMilliSeconds As Long)
Dim sngStopp As Single
Dim dblSeconds As Double
sngStopp = Timer() + lngMilliSeconds / 1000
Do
DoEvents
dblSeconds = Math.Round(Timer - Int(Timer), 1)
[A1] = dblSeconds
Debug.Print dblSeconds
Loop Until Timer > sngStopp
End Sub
...obwohl auf die erste Nachkommastelle gerundet und auch korrekt im Debugger angezeigt wird, erscheinen in der Zelle Werte wie "0,400000005960464" statt "0,4". Aber warum ist das so?
Viele Grüße
Martin

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
dbl ist eine Gleitkommazahl
14.08.2021 09:38:28
lupo1
Informiere Dich in Wikipedia.
Abhilfe: Intern mit voller Genauigkeit rechnen, in die Zelle jedoch schreiben als Wert mit 0 bis 10 festen Nachkommastellen.
Du weißt, dass ein Zellenformat nicht mit dem Zellenwert zu tun hat.
AW: dbl ist eine Gleitkommazahl
14.08.2021 09:46:13
Martin
Hallo lupo,
vielen Dank, ich dachte die Round-Funktion würde die Zahl nicht formatieren, sondern entsprechend der gewünschten Nachkommazahl abschneiden,
Viele Grüße
Martin
Ja, aber Du arbeitest mit Typen ...
14.08.2021 09:52:28
lupo1
... bzw. auch wenn Du es nicht tätest:
Beim Schreiben in eine Zelle verwendet Excel den Typ Variant. Wird der mit einer Ganzzahl versorgt, kann so etwas wie beid Dir nicht passieren. Bei einer Gleitkommazahl aber muss zusätzlich Vorsorge getroffen werden.
Daher bietet es sich an, die Zahl erst beim Schreiben in die Zelle endgültig zu berechnen, nicht schon vorher in VBA. Wenn Du beides machst, ist es aber auch ok.
Anzeige
AW: dbl ist eine Gleitkommazahl
19.08.2021 15:00:43
Der
Nach dem Runden speichert Excel als Gleikommazahl (hier Single) in binärer Schreibweise. Diese Zahl wird 1:1 in die Zelle geschrieben. Da aber z. B. 0,4 als Gleitkommazahl bei der Umwandlung aus dem Binärformat ins Dezimalsystem nicht 0,4 ergibt, erscheint dieser ("ungenaue") Wert in der Zelle:
https://floating-point-gui.de/basic/
https://de.wikipedia.org/wiki/Flie%C3%9Fkommazahl#Einschr%C3%A4nkungen_und_deren_mathematische_Grundlagen
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige