que tal? SI EXISTE una función de pascal que convierte directamente o STRING o CHAR, a INTEGER... la función es VAL....
VAL(String, Variable_Integer o Variable_Real, Variable_Integer);
VAL(Char, Variable_Integer o Variable_Real, Variable_Integer);
Esa es la sintaxis...
Donde dice
Char o
String, alli se puede colocar una variable, o una cadena de texto directamente.
Donde dice
Variable_Integer o Variable_Real debe ir obligatoriamente una variable de cualquiera de esos dos tipòs, porque allí se depositará el resultado de convertir la cadena o caracter en número.
Donde dice
Variable Integer al final, alli tambien debe ir obligatoriamente una variable de tipo ENTERO (INTEGER). En esta variable, la función VAL devuelve un número que nos especifica si se logró hacer la conversión...
Ejemplo 1:
Uses CRT;
Var s: string;
i,j: integer;
Begin
s:='12345';
val(s,i,j);
End.
En este código como, la variable "s" es igual a "12345", y aunque es de tipo String, es una expresión numérica válida, por lo tanto la conversión será exitosa. La función Val arrojaría los siguientes valores:
La variable "j" devuele como valor cero (0) porque no se produjo ningún error.
Ejemplo 2:
Uses CRT;
Var s: string;
i,j: integer;
Begin
s:='12345a';
val(s,i,j);
End.
En este código como, la variable "s" es igual a "12345a", es de tipo String, y NO ES una expresión numérica válida, por lo tanto la conversión no se podrá realizar. La función Val arrojaría los siguientes valores:
La variable "i" devuelve un valor cero (0) porque no se pudo realizar la conversión, ya que la variable "s" de tipo string no contenía una expresión numérica válida.
La variable "j" devuele como valor uno (1) porque se produjo un error.