Page 2 of 2
Re: Gemix permite casteo de datos?
Posted: Sat May 14, 2011 12:29 am
by erkosone
esque si le pongo int sale un numero extraño muy largo.
Re: Gemix permite casteo de datos?
Posted: Sat May 14, 2011 12:40 am
by GINO
Creo que había unos problemas con algún casteo, haber que dice Cictec. Pero bueno, la forma correcta es como en C (cuando este todo arreglado debería ser como en C quiero decir xD).
Re: Gemix permite casteo de datos?
Posted: Sat May 14, 2011 12:44 am
by erkosone
Ok perfect.
Si, ahora mismo pasa algo raro pasando de float a int, corrompe el munero.
Pero escrito al revés funciona bien y ya me sirve, cuando salga la nueva beta si se arregla ya lo corrijo en el programa, no problem

Re: Gemix permite casteo de datos?
Posted: Sat May 14, 2011 1:07 am
by GINO
erkos... como dije antes, escrito al revés no es que funcione, es que es una operación inútil. No es el (float) lo que está convirtiendo la variable round a int, sino el casteo implícito del =, así que puedes escribirlo simplemente como var = round; ya que ponerle (float) a un float es redundante aparte de que puede despistar.
Re: Gemix permite casteo de datos?
Posted: Sat May 14, 2011 6:33 am
by erkosone
ok.
Re: Gemix permite casteo de datos?
Posted: Sat May 14, 2011 8:13 am
by CicTec
Hola erkos,
Lo he probado con la nueva beta, pero funciona todo bien, puedes probar este simple programa para confirmar ?:
[Codebox=gemix file=Untitled.gemix]
program test_casting;
global
int iv;
double dv;
begin
dv = 102345667.434343435534;
iv = (int)dv;
write_int(0, 160, 100, 4, &iv);
repeat
frame;
until(key(_esc));
end
[/Codebox]
Deberia dar como output el numero 102345667
Sobre el casting anterior que has hecho (var = (float)round), como ya te dijo GINO, es una operacion inutil ademas de ser erratica, porque estas casteando la variable da DOUBLE a FLOAT, si el numero es demasiado grande (en este caso no, pero puede pasar), al castearlo, saldra otro por la perdida de precision, a su vez este numero sera casteado implicitamente a INT.