Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Excel: Wissenschaftlichen Notation konvertieren zu Integer (https://www.delphipraxis.net/160552-excel-wissenschaftlichen-notation-konvertieren-zu-integer.html)

gummiente 19. Mai 2011 09:51

Excel: Wissenschaftlichen Notation konvertieren zu Integer
 
Hallo Zusammen!

Wollte die Daten aus einem Excelfile in die Datenbank speichern.
Es klappt alles wunderbar ausser etwas...

Nämlich bei der einlesung der wissenschaftlichen Notation.
z.B. 4.90178E+12

Habe dies mal ausprobiert:

Code:
....
var
 test: Integer;
begin
....
//diese Kolonne enthält eine wissenschaftliche Notation
test:= StrToInt(Excel.activeWorkbook.worksheets[1].Cells[row, 2]);
...
Aber es kommt immer ein EConvertError. Is not a valid integer value.

wenn ich es als string einlesen würde, würde es klappen..
aber wäre froh wenn ich es als integer einlesen könnte.

Codewalker 19. Mai 2011 09:57

AW: Excel: Wissenschaftlichen Notation konvertieren zu Integer
 
Integer kann nur ganze Zahlen wie 1,2,3 ... speichern
Du versuchst aber eine Gleitkommazahl in einen Integer zu packen und das geht natürlich nicht. Dafür gibt es Datentypen wie Real, Float und Double. Wenn du es unbedingt in einen Integer packen willst, musst du es zuerst in einen Gleitkommawert umwandeln und dann entweder gezielt aufrunden (Delphi-Referenz durchsuchenCeil), abrunden (Delphi-Referenz durchsuchenFloor), die Nachkommastellen abschneiden (Delphi-Referenz durchsuchenTrunc) oder kaufmännisch runden (Delphi-Referenz durchsuchenRound), so dass du eine ganze Zahl ohne Nachkommastellen erhälst.

gummiente 19. Mai 2011 10:13

AW: Excel: Wissenschaftlichen Notation konvertieren zu Integer
 
Vielen Dank für die schnelle und gute Antwort!

Habe jetzt den Datentyp Float verwendet und es klappt! =)


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:56 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-2025 by Thomas Breitkreuz