¿Qué tipo de variable tengo que emplear?
Tengo el siguiente código, que graba en una base de datos en sql server mediante un sp:
string temdesc
real temprec
temdesc=sle_1.text
temprec=real(em_9.text)
CONNECT USING SQLCA;
declare sp_IngresaArticulo_PB procedure for sp_IngresaArticulo @temdesc = :temdesc,@temprec=:temprec;
execute sp_IngresaArticulo_PB;
IF SQLCA.SQLCode = -1 THEN
MessageBox("SQL error", SQLCA.SQLErrText)
END IF
¿Por qué cuando grabo los datos, el dato temprec se guarda con muchos decimales? Ya que cuando, por ejemplo, guardo el dato 180.60 se guarda como 150.6000061035156 y así otros datos que tienen decimal. Ya intente anteponiedo al objeto editmask el tipo de variale float y pasa lo mismo, ¿o sera por el tipo que seleccione en el editmask?, ya que seleccione decilmalmask y numericmask y pasa lo mismo, empleo este objeto, editmask, porque no me permite el ingreso de caracteres en un campo donde solamente tienen que ir números con decimales.
Así mismo me doy cuenta que en la base de datos SQL Server también se graba así, es decir con varios decimales, te agradecería me puedas decir como debo hacer para poder grabar el dato tal como lo escribo, es decir si dígito 180.65 se grabe como tal y no como 180.64999999
string temdesc
real temprec
temdesc=sle_1.text
temprec=real(em_9.text)
CONNECT USING SQLCA;
declare sp_IngresaArticulo_PB procedure for sp_IngresaArticulo @temdesc = :temdesc,@temprec=:temprec;
execute sp_IngresaArticulo_PB;
IF SQLCA.SQLCode = -1 THEN
MessageBox("SQL error", SQLCA.SQLErrText)
END IF
¿Por qué cuando grabo los datos, el dato temprec se guarda con muchos decimales? Ya que cuando, por ejemplo, guardo el dato 180.60 se guarda como 150.6000061035156 y así otros datos que tienen decimal. Ya intente anteponiedo al objeto editmask el tipo de variale float y pasa lo mismo, ¿o sera por el tipo que seleccione en el editmask?, ya que seleccione decilmalmask y numericmask y pasa lo mismo, empleo este objeto, editmask, porque no me permite el ingreso de caracteres en un campo donde solamente tienen que ir números con decimales.
Así mismo me doy cuenta que en la base de datos SQL Server también se graba así, es decir con varios decimales, te agradecería me puedas decir como debo hacer para poder grabar el dato tal como lo escribo, es decir si dígito 180.65 se grabe como tal y no como 180.64999999
4 Respuestas
Respuesta
1
Respuesta de aldob
1
Respuesta de ivercastillo
1
Respuesta de kukya
1