Buenos días chicos,
Lo de strtofloat y .AsCurrency lo puse porque buscando alternativas, probé también eso y veo que de esa forma me sigue asignando un 0.
Vuelvo a hacerlo con más calma aclarando las variables, quizás como dice Casimiro, al hacerlo rápido no fui muy limpio.
Código Delphi
[-]
var
ePrecio:Extended;
dPrecio: Double;
rPrecio: real;
siPrecio: Single;
cPrecio: Currency;
sPrecio: string;
begin
sPrecio:= '105';
ePrecio:= StrToFloat(sPrecio);
dPrecio:= StrToFloat(sPrecio);
rPrecio:= StrToFloat(sPrecio);
siPrecio:= StrToFloat(sPrecio);
cPrecio:= StrToFloat(sPrecio);
cPrecio:= StrToCurr(sPrecio);
end
Todo eso, me asigna todo el rato un 0 salvo sPrecio, que me guarda un 105;
Para buscar alternativas, he hecho lo de guardar el valor en un campo de una tabla y luego recogerlo de nuevo.
El campo de la tabla es money
Me lo guarda correctamente, y al recuperarlos, me sigue guardando un 0 salvo en la variable string que me lo guarda correctamente:
Código Delphi
[-]
Query.FieldByName('Precio').Value:= StrToCurr(sPrecio);
Query.Post;
cPrecio:= Query.FieldByName('Precio').AsCurrency;
dPrecio:= Query.FieldByName('Precio').AsFloat;
sPrecio:= Query.FieldByName('Precio').AsString;
He revisado lo que comenta movorack por si acaso y no existe otra función en el programa y al seguirla me lleva correctamente a SysUtils.
Como estoy guardando el valor en las variables de varias formas, tanto usando los métodos de sysutils como los del ADOQuery y con todos me guarda un 0, pues por eso os decía lo de que creía que había algún problema al guardar.
No se, estoy bastante despistado. He usado mas veces en otros sitios estas conversiones y no he tenido problemas salvo la otra vez hace tanto tiempo que os comenté.
He probado a hacer un Clean del proyecto, pero nada.
Edito**: Había insertado imágenes con la watch list desde delphi pero se ve que no me lo ha cogido