Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Convertir variable tipo variant a double (https://www.clubdelphi.com/foros/showthread.php?t=50260)

Confucio 13-11-2007 14:32:26

Convertir variable tipo variant a double
 
Hola Comunidad, Gusto en saludarlos....sucede que necesito transformar a double un dato que me vi forzado a definir como variant ( debido a que es el retornado por un Store Procedure de un SQLSERVER2000 ) sin embargo, no lo he conseguido. Puedo asegurar que el dato retornado esta bien, puesto que se visualiza correctamente al ejecutarlo.
Lo he pasado a una variable tipo string y lo muestra ok (svalor) pero al llevarlo a una variable tipo double (fFolio_esp) ...siempre me arroja 0 (cero).
Estimados, olvidaba mencionar que el valor lo rescato mediante un Tadoquery...

CODIGO


sql.Add('execute @return_status = SP parametros...');
sql.add('select @return_status as valor ');



sValor := vartostr(Qry_sp.Fieldbyname('valor').Asvariant);
fFolio_esp := Strtofloat(sValor);





Espero alguien me de una ayuda ojala con el código, ya que he realizado bastantes pruebas.

Agredecido de Uds. se despide afectuosamente

Confucio

marcoszorrilla 13-11-2007 15:22:50

He hecho algunas pruebas y la conversión no me falla, claro que no puedo ver el valor que tiene en el momento de la conversión sValor.


Código Delphi [-]
sValor     :=  vartostr(Qry_sp.Fieldbyname('valor').Asvariant);
ShowMessage(sValor);
fFolio_esp := Strtofloat(sValor);


Mira a ver si ves algo extraño.

Un Saludo.


Confucio 13-11-2007 15:49:24

Estimado Marcos:
es exactamente lo mismo que tengo, a mi tambien me muestra bien el valor el showmessage, la duda es....que te muestra fFolio_esp.

...que estes bien

Confucio

marcoszorrilla 13-11-2007 15:52:24

Como yo lo hago todo con variables puesto que no puedo obtener el valor de la fuente que tu lo obtienes, me funciona todo correctamente y me muestra siempre el valor que introduzco en la variable Variant, luego lo paso a texto y finalmente a Double.

Lo he colocado espacios al final y al principio y siempre me devuelve el valor correcto.

Un Saludo.


La franja horaria es GMT +2. Ahora son las 18:11:28.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi