Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Guardar Base datos numeros 2 decimales (https://www.clubdelphi.com/foros/showthread.php?t=64669)

VRO 14-04-2009 09:54:45

Guardar Base datos numeros 2 decimales
 
Hola, mi pregunta es la siguiente , necesito saber como se pueden guardar los números con 2 decimales en la base de datos, de tal forma que si el número es 2.125456, me guarde 2.13; si el número es 2 me guarde 2.00 y así poderlos mostrar tal cual en el programa y no tener que estar ha hacer redondeos.

He probado a utilizar el RoundTo y el Format para mostrarlo pero en el caso del 2 me sigue apareciendo 2 y no 2.00.

Trabajo con Delphi 6 e Interbase.

En espera de vuestras respuestas me despido con un gran saludo.

luisgutierrezb 14-04-2009 15:53:21

depende como uses el format, yo por lo general utilizo la mascara ",0.00" la coma para el separador de miles, y los ceros para que aunque no haya centavos los ponga...

VRO 14-04-2009 16:24:44

decimales
 
¿Pero esto te sirve para que en la base de datos permenezca con ese formato ó solo para visualizarlo en el programa?

Por cierto gracias por tu respuesta

look 14-04-2009 16:42:34

Cita:

Empezado por VRO (Mensaje 344887)
¿Pero esto te sirve para que en la base de datos permenezca con ese formato ó solo para visualizarlo en el programa?

Por cierto gracias por tu respuesta

puedes guardar los datos truncando los decimales pero... de nada te serviria, en el caso del resultado que quieres es como dice el compañero utilizar una mascara.

ContraVeneno 14-04-2009 16:50:58

¿y si defines tu campo en la base de datos como NUMERIC(12,2)?

VRO 15-04-2009 16:23:19

decimales
 
Me parece buenisima idea lo del numeric (12,2), pero en el caso que introduzcas un entero p.ej 3 no le guarda con 2 decimales ¿O debería hacerlo y estoy haciendo algo incorrecto?


Gracias por vuestra ayuda

gonza_619 10-11-2010 23:36:41

bien mi problemas es que quiero verificar si un resultado es entero o decimal ej:

x=713/6
if x es entero then
showmessage(es entero)
else
showmessage(es decimal);

esta seria la idea pero nose como hacerlo , gracias
en si no quiero que sea decimal , evitar ese resultado o que tenga coma(,)
se podria hacer con excepcion?

ecfisa 11-11-2010 00:11:29

Hola gonza.

Podes hacer así:
Código Delphi [-]
...
var
  x: Double;
begin
  x:= 713/6;
  if x = Trunc(x) then
    ShowMessage('Entero')
  else
    ShowMessage('Decimal');
end;
...

Saludos. :)

gonza_619 11-11-2010 00:12:07

lo probare gracias

gonza_619 11-11-2010 00:31:30

Código Delphi [-]
var  x: Double;
begin
x:=strtofloat(edit3.text)/strtofloat(edit2.text);
  if x = Trunc(x) then
  begin
    ShowMessage('Entero') ;
   end
  else
  begin
    ShowMessage('Decimal');
  end;

asi me funciono muchas gracias


La franja horaria es GMT +2. Ahora son las 22:56:15.

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