La Web del Programador: Comunidad de Programadores
https://www.lawebdelprogramador.com/foros/Pascal-Turbo-Pascal/216751-funcion-val.html

funcion val

funcion val

Publicado por pablo (18 intervenciones) el 18/01/2003 17:34:20
Mirad estoy utilizando la funcion "val" en un programa que me compila en Turbo Pascal, pero no en GNU debido a esta razón. Como me podría construir yo mismo es funcion??
BEGIN
assign (Ffich_inicial, 'C:\entrada.txt');
reset(Ffich_inicial);
readln(Ffich_inicial,strNumero);
Assign(Ffich_salida, 'salida.txt'); (* fichero de salida *)
rewrite(Ffich_salida);
writeln(Ffich_salida, strNumero);

LeerEntero (Ffich_inicial, intNumero, blnERR);

Val(StrNumero, intNumero, bytCodigo); (* siendo intNumero de tipo longint y bytCodigo de tipo integer *)

END;

RE:funcion val

Publicado por César Augusto Navarro Gómez (182 intervenciones) el 27/01/2003 17:30:11
Es fácil, lo que debes de hacer es verificar primero que todos los elementos de la cadena sean números, en caso de que exista uno que no lo sea regresas de la función y almacenas en bytCodigo el número de posicion donde hay un caracter no numérico. Para hacer la conversiónsi tienes la cadena cad='5624', la posición cad[4] la multiplicas por 1, la cad[3] por 10, la cad[2] por 100 y así hasta llegar a cero.
Suerte