[Delphi] Val oder StrToInt?

Hallo,

Welche Funktion ist eigentlich besser geeignet, aus einer in einem Edit-Feld eingegebenen Zahl (String) eine Zahl zu machen?

Val(String,Zahl,code) und StrToInt(String) machen doch IMHO das selbe (oder lassen sich bei StrToInt keine Kommazahlen umwandeln?).

Michael

Hallo Michael,

die Delphi-Hilfe beantwortet Deine Frage doch ganz klar?!
_______________________________________

function StrToInt(const S: string): Integer;

Beschreibung
Die Funktion StrToInt wandelt einen String, der eine Zahl vom Typ Integer entweder in dezimaler oder in hexadezimaler Notation darstellt , in eine Zahl um. Wenn der String keine gültige Zahl darstellt, löst StrToInt eine Exception EConvertError aus.
____________________________________

procedure Val(S; var V; var Code: Integer);

Beschreibung
Die Prozedur Val wandelt den String-Wert S so in seine numerische Darstellung um, als ob er mittels Read aus einer Textdatei gelesen worden wäre.
S ist ein Ausdruck vom Typ String und muß eine Zeichenfolge sein, die eine ganze Zahl mit Vorzeichen bildet. V ist eine Variable vom Typ Integer oder Real. Code ist eine Variable von Typ Integer.
_______________________________________

(Kopiert aus Hilfe zu Delphi 2)

Gruß
Martin

Hallo Michael,

also die Funktion heisst StrToInt (= String to Integer). Wie der Name erwarten laesst, wird ein String in eine Ganzzahl gewandelt.
Es gibt aber auch eine Funktion StrToFloat, die macht dasselbe mit einer Gleitkommazahl. Der Unterschied zu Val ist, dass eine Exception ausgeloest wird, wenn der String sich nicht umwandeln laesst. Bei Val wird in diesem Fall keine Exception ausgeloest, sondern der Erfolg/Misserfolg laesst sich am Parameter Code ablesen.

Niels