AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Umwandlung String in Double

Ein Thema von allarich · begonnen am 29. Nov 2004 · letzter Beitrag vom 29. Nov 2004
Antwort Antwort
Seite 1 von 2  1 2      
allarich

Registriert seit: 9. Jul 2003
Ort: Erlensee
66 Beiträge
 
Delphi 7 Enterprise
 
#1

Umwandlung String in Double

  Alt 29. Nov 2004, 09:46
Hallo !
Ich hab ein Problem,daß ich möglichst schnell lösen möchte.
Ich muß eine Spalte einer Tabelle aufsummieren, deren Werte in Stringform vorliegen.
Ich möchte nin die Strings in Realgrößen (Double) umwandeln und aufsummieren.Will bei mir nicht funktionieren. Wie kann ich das möglichst einfach realisieren ?

MfG
allarich
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#2

Re: Umwandlung String in Double

  Alt 29. Nov 2004, 09:47
Hi,

schau mal Delphi-Referenz durchsuchenStrToFloat

mfG
mirage228
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.355 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: Umwandlung String in Double

  Alt 29. Nov 2004, 09:47
Die Funktion StrToFloat sollte da helfen.
Peter
  Mit Zitat antworten Zitat
allarich

Registriert seit: 9. Jul 2003
Ort: Erlensee
66 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Umwandlung String in Double

  Alt 29. Nov 2004, 10:55
Hallo Freunde,

habe ich schon probiert.Hat aber nicht geklappt. Vielleicht ein Fehler von mir ?
Habe folgende source verwendet:
Delphi-Quellcode:
var
  i: Integer;
  Z1: string;
  Ergebnis: Double;

begin
  Ergebnis:= 0;
  i:= 0;
  REPEAT
    i:= i + 1;
    Z1:= ws.Cells.Item[i];
    Ergebnis:=Ergebnis + StrToFloat(Z1);
    end;
  UNTIL Z1 = ''
end;
Wer sieht hier wo einen Fehler ?

MfG
allarich

[edit=Sharky]Delphi-Tags gesetzt und den Code etwas formatiert Mfg, Sharky[/edit]
  Mit Zitat antworten Zitat
Benutzerbild von Sanchez
Sanchez

Registriert seit: 24. Apr 2003
Ort: Neumarkt Stmk
892 Beiträge
 
Delphi XE6 Enterprise
 
#5

Re: Umwandlung String in Double

  Alt 29. Nov 2004, 11:04
Hallo,

Du hast da ein end zuviel. So wird es gar nicht kompilieren.
Außerdem solltest du vor dem StrToFloat sicherstellen, das Z1 kein Leerstring ist, oder am Besten gleich Delphi-Referenz durchsuchenTryStrToFloat benutzen um sicherzugehen, dass in Z1 ein gültiger String steht.



Delphi-Quellcode:
var
  i: Integer;
  Z1: string;
  Ergebnis: Double;

begin
  Ergebnis:= 0;
  i:= 0;
  REPEAT
    i:= i + 1;
    Z1:= ws.Cells.Item[i];
    Ergebnis:=Ergebnis + StrToFloat(Z1);
    end; <--- das ist zuviel
  UNTIL Z1 = ''
end;
grüße, daniel
Daniel
Testen ist feige!
  Mit Zitat antworten Zitat
allarich

Registriert seit: 9. Jul 2003
Ort: Erlensee
66 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Umwandlung String in Double

  Alt 29. Nov 2004, 11:55
Hallo Sanchez,
Du hast natürlich recht. Ich habe das begin nach REPEAT vergessen !
Habe aber noch ne andere Frage,vielleicht kannst Du mir hier auch helfen.
Wie frage ich programmtechnisch ab, ob ein Workbook schon geöffnet ist ?

MfG
allarich
  Mit Zitat antworten Zitat
Benutzerbild von Sanchez
Sanchez

Registriert seit: 24. Apr 2003
Ort: Neumarkt Stmk
892 Beiträge
 
Delphi XE6 Enterprise
 
#7

Re: Umwandlung String in Double

  Alt 29. Nov 2004, 11:57
Ich fürchte, da kann ich dir nicht helfen. Ich hab nämlich keine Ahnung, was ein Workbook ist.
Daniel
Testen ist feige!
  Mit Zitat antworten Zitat
Benutzerbild von jim_raynor
jim_raynor

Registriert seit: 17. Okt 2004
Ort: Berlin
1.251 Beiträge
 
Delphi 5 Standard
 
#8

Re: Umwandlung String in Double

  Alt 29. Nov 2004, 13:06
Denk daran, dass Delphi ein . als Dezimaltrenner erwartet. Ein Komma wird nicht akzeptiert. Generell darf bei StrToFloat der String nicht Formatiert sein (also zum Beispiel keine führenden Leerzeichen oder Tausendertrennzeichen).
Christian Reich
Schaut euch mein X-COM Remake X-Force: Fight For Destiny ( http://www.xforce-online.de ) an.
  Mit Zitat antworten Zitat
Benutzerbild von Sanchez
Sanchez

Registriert seit: 24. Apr 2003
Ort: Neumarkt Stmk
892 Beiträge
 
Delphi XE6 Enterprise
 
#9

Re: Umwandlung String in Double

  Alt 29. Nov 2004, 13:13
Zitat von jim_raynor:
Denk daran, dass Delphi ein . als Dezimaltrenner erwartet. Ein Komma wird nicht akzeptiert.
Meine OH sagt dazu was anderes:
Zitat:
Die globale Variable DecimalSeparator definiert das Zeichen, das als Dezimaltrennzeichen verwendet werden muß. Tausendertrennzeichen und Währungssymbole sind nicht zulässig. Enthält S keinen gültigen Wert, wird eine EConvertError-Exception ausgelöst.
Ich hab nämlich vorher beim Probieren ne Exception bekommen, wie ich . verwendet hab.
Daniel
Testen ist feige!
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#10

Re: Umwandlung String in Double

  Alt 29. Nov 2004, 14:28
Zitat von allarich:
Wie frage ich programmtechnisch ab, ob ein Workbook schon geöffnet ist ?
Öffne bitte für eine neue Frage einen neuen Thread. Danke.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:25 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz