Programación General > Pascal

 Funcion convertir STRING a REAL

(1/2) > >>

baldur:
Hola, estoy haciendo una práctica en PASCAL, pero este tiene que ser ISO PASCAL 1026, que viene pelado vamos...sin nada...xD

Lo que necesito es crearme unas funciones o función que me permita el cambio de string a real, además de las típicas de sacar acentos y esas pijadas... pero como el pascal lo he utilizado muy poco, pues no soy capaz.
Si me podeis hechar una mano os lo agradezco.

Un Saludo y Gracias!

m0skit0:
Pues vas a tener que recorrer la cadena de caracteres e ir procesándola sobre una variable Real que tengas declarada. Por ejemplo, fijarte dónde está la coma decimal, por cuánto multiplicar la cifra que halles en la cadena dependiendo de su posición, etc...

Suerte y salud

SergioyoPlayer:
El procedimiento VAL te lo hace ^^
VAL(cadena_a_convertir:STRING,VAR número_que_devuelve:BYTE/WORD/INTEGER/LONGINT/REAL,etc.,VAR error:BYTE - indica la posición del STRING donde hay un caracter erróneo)

La puedes ver en la carpeta "FPC/versión/DOC/rtl.pdf
Y en el pdf, en la unidad SYSTEM (es la que viene "por defecto" con los mínimos para programar). Concretamente, en el apartado "Procedures and Functions".

Suerte ;)

baldur:

--- Cita de: "SergioyoPlayer" ---El procedimiento VAL te lo hace ^^
VAL(cadena_a_convertir:STRING,VAR número_que_devuelve:BYTE/WORD/INTEGER/LONGINT/REAL,etc.,VAR error:BYTE - indica la posición del STRING donde hay un caracter erróneo)

La puedes ver en la carpeta "FPC/versión/DOC/rtl.pdf
Y en el pdf, en la unidad SYSTEM (es la que viene "por defecto" con los mínimos para programar). Concretamente, en el apartado "Procedures and Functions".

Suerte ;)
--- Fin de la cita ---


Estamos hablando de PASCAL, versión ISO 1026...viene pelao, sin esas funciones.... te comento que hasta te tienes que crear una función para enlazar con ficheros...xD(no existe la assing)...xD

SergioyoPlayer:
Juas!
Pues lo que dijeron arriba
Quita todos los caracteres que no sean números o punto.
Verifica que solo hay aun punto
Y a partir de ahí, tendrás 2 cadenas (salvo que no haya punto, que tendrás una).
La "de la izquierda", multiplicas por 10^n, y la "de la derecha", por 10^(-n) y yatá
(lo de ^-n, es por 0.1, 0.01, 0.001, etc.)

Suerte ^^

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa