VAL |
Valeur |
---|---|
Free Pascal | System |
Syntaxe
Procedure Val(Const S:String;Var V;Var Code:Word); |
Paramètres
Nom | Description |
---|---|
S | Ce paramètre permet d'indiquer la chaîne de caractères contenant le nombre encodé en alphanumérique. |
V | Ce paramètre retourner le nombre. |
Code | Ce paramètre retourner l'erreur. |
Description
Cette procédure permet de convertir une chaîne de caractères en sa valeur numérique.
Remarques
- La procédure Val convertit la valeur représentée dans la chaîne de caractères S en une valeur numérique ou une valeur énumérée et entrepose cette valeur dans la variable V, pouvant être de type Longint, Real et Byte ou de tout type énuméré. Si la conversion échoue, le paramètre Code contient l'index du caractère en S ayant empêché la conversion. La chaîne de caractères S peut contenir des espaces au début.
- La chaîne de caractères S peut contenir un nombre au format décimal, hexadécimal, binaire ou octal, comme décrit dans la référence du langage de programmation. Pour les valeurs énumérées, la chaîne de caractères doit être le nom de la valeur énumérée. Le nom est recherché de manière insensible à la casse.
- Pour les valeurs hexadécimales, le préfixe «0x» ou «x» (insensible à la casse) peut également être utilisé.
- La conversion en énuméré n'existe qu'à partir de la version 2.3.1 (ou ultérieure) du compilateur.
- Si la conversion échoue, la valeur de Code indique la position où la conversion s'est mal passée. La valeur de V est alors indéfinie.
Exemple
Voici quelques exemples typiques de l'utilisation de cette fonction :
- Program ValSamples;
-
- Var
- N,Err:Integer;
- R:Real;
-
- BEGIN
- Val('0',N,Err);
- WriteLn('Val(0) = ',N,', Erreur=',Err);
- Val('123',N,Err);
- WriteLn('Val(123) = ',N,', Erreur=',Err);
- Val('-123',N,Err);
- WriteLn('Val(-123) = ',N,', Erreur=',Err);
- Val('123E',N,Err);
- WriteLn('Val(123E) = ',N,', Erreur=',Err);
- Val('-123E',N,Err);
- WriteLn('Val(-123E) = ',N,', Erreur=',Err);
- Val('-123G',N,Err);
- WriteLn('Val(-123G) = ',N,', Erreur=',Err);
- Val('G',N,Err);
- WriteLn('Val(G) = ',N,', Erreur=',Err);
- Val('123.45',R,Err);
- WriteLn('Val(123.45) = ',R:3:2,', Erreur=',Err);
- END.
on obtiendra le résultat suivant :
Val(0) = 0, Erreur=0Val(123) = 123, Erreur=0
Val(-123) = -123, Erreur=0
Val(123E) = 123, Erreur=4
Val(-123E) = 123, Erreur=5
Val(-123G) = 123, Erreur=5
Val(G) = 0, Erreur=1
Val(123.45) = 123.45, Erreur=0
Voir également
Langage de programmation - Free Pascal - Référence de procédures et fonctions - Str
Dernière mise à jour : Samedi, le 18 juillet 2015