Conversion de datos

Moderador: yalmar

Foro sobre popular lenguaje de Borland y el lenguaje pascal.

Conversion de datos

Notapor latindev » Dom Jul 13, 2003 2:24 pm

A quien pueda responder... gracias.

No se como hacer la convercion de cadena a numeros float o double.

Sé que para los enteros hay funciones como IntToString o StringToInt o algo asi, pero no he visto algo como DoubleToString o StringToDouble.

Supongo que hay otros metodos.
Avatar de Usuario
latindev
Administrador
Administrador
 
Mensajes: 1062
Registrado: Lun Jun 02, 2003 8:30 pm
Ubicación: Peru


Re: Conversion de datos

Notapor trunksito » Dom Jul 13, 2003 3:06 pm

Ivas por el camino correcto, las funciones de conversión para los tipos de datos Real en Delphi (double, real, extended, etc) es FloatToStr y StrToFloat, para cualquiera de los ya mensionados puesto que en delphi todos estos corresponden al tipo Real (en general). Un ejemplo pa esto es el siguiente:

Código: Seleccionar todo
  1.  

  2. procedure TForm1.Button1Click(Sender: TObject);

  3. var

  4.     txt: string;

  5.     numreal: extended;

  6. begin

  7.     txt := edit1.Text;

  8.     numreal := StrToFloat(txt) + 1.54;

  9.     edit2.Text := FloatToStr(numreal);

  10. end;

  11.  



solo necesitas dos cuadros de texto y un boton, en el evento click del button pegas el snippet. :twisted: saludos chocherits.
Última edición por trunksito el Dom Jul 13, 2003 8:56 pm, editado 1 vez en total
OnlyTK - I'm gonna live Forever
Avatar de Usuario
trunksito
Usuario Activo
Usuario Activo
 
Mensajes: 20
Registrado: Mar Jun 03, 2003 7:33 pm
Ubicación: Perú


Y para precisión....

Notapor latindev » Dom Jul 13, 2003 6:32 pm

Bueno, bueno bueno, ....

Eso sirve y muchas gracias, pero como funciona con la presicion, redondeo y esas cosas....
Avatar de Usuario
latindev
Administrador
Administrador
 
Mensajes: 1062
Registrado: Lun Jun 02, 2003 8:30 pm
Ubicación: Peru

Re: Y para precisión....

Notapor trunksito » Dom Jul 13, 2003 7:50 pm

8) a yaaaaaaaa, seguro quieres dar formato igual que en Visual C, bueno si hay una función para todo eso, mejor dicho unas cuantas funciones:

Para dar formato (precision, etc) tienes que usar la función Format(), que te devuelve una cadena 'string', es casi igual que el formato en C++, pero es un poco mas flexible. Por ejemplo:

Format('%*.*f', [8, 2, 123.456])

es igual que

Format('%8.2f', [123.456]).

Cuando usas asteriscos indicas que vas a usar los indices del segundo argumento, en este caso 8 y 2. Que es igual que la segunda forma. Para más info puedes consultar la ayuda de Delphi en su seccion Format Strings.

Y para el redonde de Reales a enteros puedes usar las sgtes funciones:

Trunc: Trunca el valor Real, y te devuelve la parte entera
Round: Redondea a un valor entero
OnlyTK - I'm gonna live Forever
Avatar de Usuario
trunksito
Usuario Activo
Usuario Activo
 
Mensajes: 20
Registrado: Mar Jun 03, 2003 7:33 pm
Ubicación: Perú


    

Volver a Pascal

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados