AGB  ·  Datenschutz  ·  Impressum  







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

String in Value konvertieren

Ein Thema von cyberrowdy72 · begonnen am 22. Jun 2004 · letzter Beitrag vom 22. Jun 2004
Antwort Antwort
cyberrowdy72

Registriert seit: 9. Mär 2004
22 Beiträge
 
Delphi 7 Enterprise
 
#1

String in Value konvertieren

  Alt 22. Jun 2004, 12:21
Hallo.

Ich programmiere grad ein mehrfachumbenennungstool. Dabei soll aus einem String ein evtl. vorhandener Zahlenwert extrahiert werden, sowas wie StrToValue, leider gibts so ne Funktion nicht und ich wollte sie auch nicht selber programmieren.
Gibts so eine Funktion die ein Äquivalent zu der in Basic verfügbaren Funktion "VAL()" darstellt?
Funktionen wie Val, StrToIntDef konvertieren ja nur Zeichenketten, in denen NUR ein Integer enthalten ist, aber kein text...

Könnt Ihr mir da einen Tip geben
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#2

Re: String in Value konvertieren

  Alt 22. Jun 2004, 12:28
Hallo cyberrowdy72,

zunächst einmal herzlich willkommen im Delphi-PRAXIS Forum.

Die Funktion, die du suchst heißt StrToInt bzw. StrToFloat.
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.016 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#3

Re: String in Value konvertieren

  Alt 22. Jun 2004, 12:33
Zitat von MrSpock:
Die Funktion, die du suchst heißt StrToInt bzw. StrToFloat.
Wohl kaum, denn er sucht eine Funktion, die aus dem String 'Hieristeine10versteckt' den Integerwert 10 macht, denn

Zitat von cyberrowdy72:
Dabei soll aus einem String ein evtl. vorhandener Zahlenwert extrahiert werden
Ich denke nicht, dass sowas schon in den Delphi-Libs ist, sowas musst du wohl über "Zahlen-rausfiltern" selber machen.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
cyberrowdy72

Registriert seit: 9. Mär 2004
22 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: String in Value konvertieren

  Alt 22. Jun 2004, 12:35
Stevie hat Recht, mit den Standardfunktionen komm ich eben nicht weiter (Programmiere schon länger als ich im Forum vertreten bin
OK, also wenns so eine fkt. in pascal nicht gibt muss ich sie eben selber proggen.

Trotzdem thx.
  Mit Zitat antworten Zitat
Benutzerbild von Smokey
Smokey

Registriert seit: 10. Nov 2003
Ort: Puerto de la Cruz
158 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: String in Value konvertieren

  Alt 22. Jun 2004, 12:37
verstehe ich dich richtig und du willst zum Beispiel aus dem String "Route66" die 66 extrahieren lassen und zu einer Zahl konvertieren???

weil das würde so nicht gehen denke ich. Da müsstest du dann vorher selbst Hand anlegen.

Bei einfacher Konvertierung von Strings wie "6786786" zum Zahlenwert, stehen die Funktionen StrToInt oder Val() zur Verfügung.
Greif dir ein gutes Stück Fleisch auf deinem Weg nach draussen !!!
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.016 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#6

Re: String in Value konvertieren

  Alt 22. Jun 2004, 12:45
Ok, ist vielleicht nicht gerade die schnellste Möglichkeit, aber sie funktioniert einigermaßen...
Delphi-Quellcode:
function ExtractInt(s: string): Integer;
var
  i, x: Integer;
begin
  i := 0;
  for x := 1 to Length(s) do
    if s[x] in ['0'..'9'] then
      i := (i * 10) + StrToInt(s[x]);
  Result := i;
end;
[edit]Verschreiber korrigiert! [/edit]
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
Tom

Registriert seit: 8. Jan 2003
318 Beiträge
 
RAD-Studio 2009 Pro
 
#7

Re: String in Value konvertieren

  Alt 22. Jun 2004, 12:52
Zitat von Stevie:
aber sie funktioniert einigermaßen...
Spontan würde ich sagen, dass die Funktion bei der Übergabe von z.B. 26 als Ergebnis 0 liefert ..., ich denk mal der Source funktioniert, wenn nur Zahlen mit Einsen und Nullen enthalten sind.
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.016 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#8

Re: String in Value konvertieren

  Alt 22. Jun 2004, 12:58
Zitat von Tom:
Zitat von Stevie:
aber sie funktioniert einigermaßen...
Spontan würde ich sagen, dass die Funktion bei der Übergabe von z.B. 26 als Ergebnis 0 liefert ..., ich denk mal der Source funktioniert, wenn nur Zahlen mit Einsen und Nullen enthalten sind.
Korrekt! Dummer Verschreiber...
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
cyberrowdy72

Registriert seit: 9. Mär 2004
22 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: String in Value konvertieren

  Alt 22. Jun 2004, 13:07
Für alle die eine solche Fkt. benötigen hier ist sie. Wird als linked true angegeben, werden alle enthaltenen Zahlen aneinandergereiht, andernfalls wird nach der ersten zusammenhängenden Zahl abgebrochen. Ist keine Zahl enthalten liefert die Funktion den Wert 0.

Delphi-Quellcode:
function StrToVal(str:string;linked:boolean):integer;
var i:integer; res:string;
begin
 for i:=1 to length(str) do begin
  if str[i] in ['0'..'9'] then res:=res+str[i];
  if (not (str[i] in ['0'..'9'])) and (res <> '') and (linked=false) then break;
 end;
 if res <> 'then result:=strtoint(res) else result:=0;
end;
Bei Fragen ruhig fragen
  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 08:49 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