Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
484to488
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
484to488
484to488
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Round()

Round()
14.09.2004 15:13:13
Katja
Hallo Leute
Ich habe folgendes Problem. Ich möchte eine Zahl runden:
Dim Dezimal as Single
Dezimal = 18.665
Dezimal = Round(Dezimal, 1)
Range("A2").Value = Dezimal
Nun wird aber in die Zelle A2 der Wert 18.70000076 geschrieben. Wieso? Muss ich noch etwas mit der Zellenformatierung machen? Ist im Moment General.
Danke für eure Hilfe und Grüsse
Katja

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Round()
Sven
[a2] = Round(Dezimal,1)
Sven
AW: Round()
EtoPHG
Katja,
Definiere Dezimal als DOUBLE NICHT als Single als
Dîm Dezimal as Double
und es funktioniert.
Gruss Hansueli
AW: Round()
14.09.2004 16:14:13
Katja
Vielen Dank, es funktioniert! wieso gehts den mit double und mit single nicht?
Gruss Katja
AW: Round()
EtoPHG
Katja
Die Ungenauigkeit der internen abgespeicherten Werte kommt bei einem Single (4Byte) schon nach wenigen Kommastellen zum tragen, wie bei einem Double (8Byte).
Allerdings befriedigt mich das auch nicht so ganz, aber Tatsache ist, dass, wenn Du einen Wert wie 1.34545 als Single per VBA in eine Zelle abfüllst, ist der Zellwert =
1.34545004367828 bei Double hingegegen genau 1.34545. Ich nehme an, das ergibt sich auch aus der Tatsache, dass Excel alle Zellenwerte intern mit Double-precision rechnet.
Gruss Hansueli
Anzeige
AW: Round()
15.09.2004 13:55:16
Katja
Ok, danke Hansueli für die Erklärung!
Gruss Katja

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige