![]() |
Wert ändert sich beim Schreiben in Excelzelle
Hallo,
ich habe es mit einem Problem zu tun, auf das ich noch nie gestoßen bin. Ich habe schon viele Programme geschrieben, die mit Excel 2003 zusammenarbeiten. Was passiert. In einer Excelzelle steht der Wert -97897846,3556414 (Formatierung #,##0.00) Den Wert lese ich in einen OleVariant Value : OleVariant Der Debugger zeigt, dass in Value -97897846,3556414 steht Jetzt schreibe ich den Wert auf einem anderen Arbeitsblatt in eine Zelle. In der Zelle steht nicht wie erwartet -97897846,3556414 sondern -978978463556414 So wie es aussieht ist das Komma verschwunden. Wenn in der Ausgangszelle ein Wert mit nur zwei Kommastellen steht (z.B.-97897846,35) dann funktioniert es :gruebel: |
Re: Wert ändert sich beim Schreiben in Excelzelle
Zitat:
Delphi-Quellcode:
Das Ergebnis müsste eigentlich der Konstanten varDouble entsprechen.
ShowMessageFmt('vartype=%d', [VarType(value)]);
|
Re: Wert ändert sich beim Schreiben in Excelzelle
Hallo sx2008,
guter Tip. Der Wert wurde als String gelesen. Ein explizier Cast in ein Double hat das Problem gelöst. Danke |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:29 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz