Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-05-2008
Avatar de look
look look is offline
Miembro
 
Registrado: sep 2007
Ubicación: The Shire
Posts: 656
Poder: 17
look Va camino a la fama
cantidad de decimales en campo float

hola compañeros del foro , trabajo con una base en MSSQL ,tengo el siguiente problema con un campo de tipo float, cuando posteo registros en las tablas para limitar la cantidad de decimales que se guarden utilizo el FormatFloat este trabaja bastante bien el problema es que cuando trato los datos con querys para actualizar los campos con operaciones como multiplicaciones o divisiones estos generan muchos decimales , ahora la cosa es q sera posible al diseñar la tabla limitar la a una cantidad x de decimales el campo o hay otra manera ?...

http://img177.imageshack.us/my.php?image=imagenxx8.jpg
Responder Con Cita
  #2  
Antiguo 03-05-2008
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
Podrías utilizar el tipo de dato "Decimal" de SQL Server, en el cuál le defines el número de decimales que quieres manejar. La única restricción es que tienes que definir la cantidad de dígitos enteros mayor a la cantidad de dígitos decimales.

Ahora que si lo que estas manejando son datos monetarios, lo mejor es usar el tipo "Money", el cuál solo permite 4 decimales y al pasarlo a un DBGRid, automáticamente te pone el formato tipo moneda.

o tambien, al hacer la operación, podrías utilizar la función "CAST".

Código SQL [-]
Select Cast(123.234/23.23454 as Decimal(10,2))
__________________


Última edición por ContraVeneno fecha: 03-05-2008 a las 18:06:08.
Responder Con Cita
  #3  
Antiguo 03-05-2008
Avatar de look
look look is offline
Miembro
 
Registrado: sep 2007
Ubicación: The Shire
Posts: 656
Poder: 17
look Va camino a la fama
gracias por responder amigo Contraveneno , analize la situacion y tal parece que el problema no necesariamente biene de alli ,....

el problema es que tengo un reporte de ventas y :

http://img517.imageshack.us/my.php?image=reportemi3.jpg

es el que esta en esta imagen detras de la hoja de excel , y luego en la hoja de excel sumo los datos para que vean , tiene que ver con los decimales ya de alguna manera en el reporte este redondea los campos pero al hacer la sumatoria no concuerda ... espero explicarme bien...

Última edición por look fecha: 27-05-2008 a las 23:31:34.
Responder Con Cita
  #4  
Antiguo 05-05-2008
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
Pues supongo que solo bastaría con darle 4 decimales al formato del total en el reporte.

Si utilizas QuickReport, el QRDBText tiene la propiedad Mask, que puedes editar para darle los 4 decimales.

Pero al ver los datos que manejas, sería muy muy recomendable que los datos lo definieras como "money" desde tu base de datos y que utilizaras el cast al hacer la operación, así no tendrías porqué preocuparte por estos menesteres.

Código SQL [-]
Select Cast(123.234/23.23454 as money)
__________________


Última edición por ContraVeneno fecha: 05-05-2008 a las 15:53:35.
Responder Con Cita
  #5  
Antiguo 05-05-2008
Avatar de look
look look is offline
Miembro
 
Registrado: sep 2007
Ubicación: The Shire
Posts: 656
Poder: 17
look Va camino a la fama
perfectamente esta fue la solucion

Código SQL [-]
Select Cast(123.234/23.23454 as money)

Gracias amigo ContraVeneno
Responder Con Cita
  #6  
Antiguo 04-10-2010
gonza_619 gonza_619 is offline
Miembro
 
Registrado: feb 2010
Posts: 157
Poder: 15
gonza_619 Va por buen camino
pues bien mi problema es que por un lado tengo un campo tipo integer y por otro un campo tipo Money$, bien el problema es que quiero restarlos y sumar registros entre esos campos, la verdad que no se si conviene cambiar el tipo campo money a otro que permita punto flotante ej(180,50) o (1200,80), bien
pero nose caul tipo de campo seria en PARADOX.
Bueno espero puedan ayudarme,
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Como Reducir Decimales en Campo Float???? AGAG4 Firebird e Interbase 3 26-09-2005 15:27:07
reducir decimales de float el_barto Varios 4 22-09-2005 21:27:09
Crear Campo Float Determinando Tamaño y Decimales en DBF AGAG4 Tablas planas 4 28-02-2005 19:51:48
controlar la cantidad de decimales CarlosHernandez Varios 5 01-12-2003 21:53:47
cantidad de decimales jfontane Varios 1 23-06-2003 15:04:03


La franja horaria es GMT +2. Ahora son las 03:12:03.


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
Copyright 1996-2007 Club Delphi