StrF ungenau
Verfasst: 15.04.2016 14:42
Hallo Forum,
ich muss ein Messfile konvertieren (*.dat mit VB6 erstellt - ein Alptraum) und bin sehr weit damit.
Nur die Zeitwerte zeigt mit PureBasic falsch an, weil scheinbar was beim konvertieren rundet.
Hier die Schlüsselstelle:
ergibt dann:
Die Zahlen sind das VB6-Date-Format: Vorkomma sind die Tage seit 1900, die Nachkommastellen multipliziert mit 24 ergibt Stunden, Minuten, Sekunden.
Muss also genau sein - der Artefakt allerdings bewirkt, dass nicht (wie im Originalmessfile) die Messzeit schön konstant hochgezählt wird (42433.674664351849, 42433.675011574072 etc.), sondern bei z. B. 20 verschiedenen Messungen nur zwei verschiedene Floatwerte angezeigt werden (obige Liste ist abgekürzt und zeigt nur einen Wert: 42433.6757812500).
Ich muss leider einen String am Ende haben, weil alle Werte in einem ListIconGadget drinstehen.
Wie kann ich das lösen?
Danke,
Tom
ich muss ein Messfile konvertieren (*.dat mit VB6 erstellt - ein Alptraum) und bin sehr weit damit.
Nur die Zeitwerte zeigt mit PureBasic falsch an, weil scheinbar was beim konvertieren rundet.
Hier die Schlüsselstelle:
Code: Alles auswählen
Zahl=ReadDouble(#Datei)
;Dummy=Zahl*1e12
Debug "Original aus Datei: "
Debug Zahl
;Debug Dummy
Debug "Mit StrF "+#CRLF$+StrF(Zahl,10)
Dateifelder(Lauf1)\dtTime=StrF(Zahl,10)
Code: Alles auswählen
Original aus Datei:
42433.674664351849
Mit StrF
42433.6757812500
Original aus Datei:
42433.675011574072
Mit StrF
42433.6757812500
Original aus Datei:
42433.675358796296
Mit StrF
42433.6757812500
Original aus Datei:
42433.675706018519
Mit StrF
42433.6757812500
Original aus Datei:
42433.676053240742
Mit StrF
42433.6757812500
Original aus Datei:
42433.676400462966
Mit StrF
42433.6757812500
Muss also genau sein - der Artefakt allerdings bewirkt, dass nicht (wie im Originalmessfile) die Messzeit schön konstant hochgezählt wird (42433.674664351849, 42433.675011574072 etc.), sondern bei z. B. 20 verschiedenen Messungen nur zwei verschiedene Floatwerte angezeigt werden (obige Liste ist abgekürzt und zeigt nur einen Wert: 42433.6757812500).
Ich muss leider einen String am Ende haben, weil alle Werte in einem ListIconGadget drinstehen.
Wie kann ich das lösen?
Danke,
Tom