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

39892,00005 - int(39892,00005) = 5 ???

39892,00005 - int(39892,00005) = 5 ?
20.03.2009 09:59:54
MBorn
Hallo Excel-Gemeinde,
ein Problem ist aufgetaucht, für das ich keine Erklärung finde. Ist es jemandem von Euch bekannt:
zahl = 39892,00005
msgbox zahl
msgbox int(zahl)
msgbox zahl - Int(zahl)
Das Ergebnis zahl - int(zahl) sollte natürlich 0,0000 sein. Excel gibt aber 5 aus?
Da es sich bei der Zahl um ein Datum in meinem Skript handelt gibt es um Mitternacht
Probleme. Geisterstunde oder gibts eine logische Erklärung?
Gruß und Dank,
Born

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: 39892,00005 - int(39892,00005) = 5 ?
20.03.2009 10:03:46
Hajo_Zi
Hallo Born,
Dein Code läift s nicht in VBA.

Option Explicit
Sub Born()
Dim Zahl As Double
Zahl = 39892.00005
MsgBox Zahl
MsgBox Int(Zahl)
MsgBox Format(Zahl - Int(Zahl), "0.0######")
End Sub


Wo ist Bitte das Problem?

AW: 39892,00005 - int(39892,00005) = 5 ?
20.03.2009 10:22:26
MBorn
Danke Hajo,
geprüft und für gut befunden.
Born
Korrekt...
20.03.2009 10:10:36
Ramses
Hallo
"...Das Ergebnis zahl - int(zahl) sollte natürlich 0,0000 sein. Excel gibt aber 5 aus?..."
Das ist doch korrekt
Vorgabe,... mit Punkt in VBA !!
zahl = 39892.00005
Anzeige in Msgbox
msgbox zahl
Anzeige in MsgBox ohne Nachkommastellen, also als Ganzzahl = Int
msgbox int(zahl)
Anzeige in Msgbox Vorgabe - Ganzzahl
39892,00005 - 39892
msgbox Format(zahl - Int(zahl);"hh:mm:ss")
... wenn der Rest "0.00005" ist, wieso soll dann 0 rauskommen ?
Gruss Rainer
Anzeige
AW: Korrekt... nicht ganz...
20.03.2009 10:21:25
MBorn
Hallo Rainer,
danke fürs Draufschaun.
ich rechne mit einem deutschen Exel und innerhalb von Excel werden Kommas benutzt.
(Natürlich nicht in VBA)
der Gegentest: schreibe in Excel in eine Zelle
39892,34560
zahl - int(zahl) gibt 0,3456!!!!
Dann müßte doch
39892,00005
zahl - int(zahl) logischerweise auch 0,000 geben, odddddrrrrr?!!!
Merci,
Born
Das ist mir zu hoch....
20.03.2009 10:26:47
Ramses
Hallo
Keine Ahnung was du da rechnest,... aber nachvollziehbar ist das für mich auf keinen Fall
39892,34560
zahl - int(zahl) gibt 0,3456!!!!
Dann müßte doch
39892,00005
zahl - int(zahl) logischerweise auch 0,000 geben, odddddrrrrr?!!!
DIEEEE Logik musst du mir mal erklären ?
Gruss Rainer
Anzeige
AW: Das ist mir zu hoch....
20.03.2009 13:57:14
MBorn
Hallo Reiner,
welchen Teil verstehst Du nicht?
Ergebnis 0,0000 stimmt für 4 Nachkommastellen 0,00005 stimmt für 5 Nachkommastellen.
Interessant, gell?
Gruß,
Born
Mathematik, 2. Klasse
20.03.2009 14:19:16
Ramses
Hallo
"...Ergebnis 0,0000 stimmt für 4 Nachkommastellen 0,00005 stimmt für 5 Nachkommastellen...."
Und wo hast du definiert dass du nur auf 4 Nachkommastellen rechnen willst ? !!
Das die letze "0" an der 5. Stelle weggelassen wird, wie in deinem 1. beispiel, ist normal, weil mathematisch sinnlos
Das die "5" an der 5. Stelle aber angezeigt wird, macht vom mathematischen Standpunkt aus gesehen aber schon Sinn :-)
Schliesslich ist verdammt wenig immer noch mehr als 0 !! :-)
Gruss Rainer
Anzeige
AW: Nee, Mathematik, 1. Klasse
20.03.2009 15:37:42
MBorn
Ja, so isses. Null bleibt eben Null.
Da beißt die Maus auch nichts ab.
Gruß,
Born

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige