AGB  ·  Datenschutz  ·  Impressum  







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

Aus Zahltext Zahl machen und zurück

Ein Thema von torud · begonnen am 29. Jun 2006 · letzter Beitrag vom 29. Jun 2006
Antwort Antwort
torud

Registriert seit: 26. Jul 2002
Ort: Sachsen
1.198 Beiträge
 
Delphi XE5 Professional
 
#1

Aus Zahltext Zahl machen und zurück

  Alt 29. Jun 2006, 14:57
Hallo Wissende,

das hört sich jetzt vielleicht verrückt an, aber bastel gerade an einem Bestellscript, welches durch JaveScript verarbeitet werden soll. JS kann leider nur mit Zahlen umgehen, die so aussehen: 1.23 enstspricht einer 1,23. Nix dramatisches, aber ich will nun folgendes tun:

Der User gibt in ein Edit eine 1 für ein Euro ein. Damit das Ganze schön aussieht, habe ich versucht aus der 1 ein 1.00 zu machen. Das habe ich durch Float und Replacstring erledigt. Polnisch - ich weiss, aber mir fiel nix besseres ein.

Nun will ich aber, wenn der User mal den Preis ändern will, den Wert zurück ins Edit schreiben. Das ist auch kein Problem, weil es einfach nur Text ist. Das eigentliche Problem besteht darin, den Wert dann erneut in meine Variable zu bekommen, da der Compiler meint, dass 1.00 oder 1,00 kein Integerwert ist.

So schreibe ich den Wert in den StringArray:
   myData[1,akt_prod]:=StringReplace((FloatToStrF(strtoint(ed_p_prize.text),ffFixed,10,2)),',','.',[rfReplaceAll, rfIgnoreCase]); Und so fülle ich das Editfeld wieder:
Delphi-Quellcode:
MyData[1,i]:=StringReplace(MyData[1,i],'.',',',[rfReplaceAll, rfIgnoreCase]);
ed_p_prize.Text := MyData[1,i];
Tut mir leid, wenn ich Euch mit solchem Pippikram belästie, aber mir fällt einfach nix ein, wie es lösen könnte, ich such natürlich selbst noch weiter.
Danke
Tom
  Mit Zitat antworten Zitat
Benutzerbild von H4ndy
H4ndy

Registriert seit: 28. Jun 2003
Ort: Chemnitz
515 Beiträge
 
Delphi XE3 Professional
 
#2

Re: Aus Zahltext Zahl machen und zurück

  Alt 29. Jun 2006, 15:22
Der Compiler hat völlig recht wenn er behauptet, das 1(,.)00 kein Integerwert ist.
Sobald das Kommatrennzeichen vorkommt, ist es für Delphi eine Fließkommazahl (Real, Extended, ...).

Welches Zeichen dabei angenommen wird (. oder ,) steht in den globalen Spracheinstellungen. Meist ist es aber der Punkt. Das kannst du ändern indem du mit TFormatSettings arbeitest und dann natürlich anstelle von StrToInt eben StrToFloat benutzt (was übrigends auch mit Integerwerten klar kommt).
Manuel
  Mit Zitat antworten Zitat
Antwort Antwort


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 10:44 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