Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

truncar a 2 decimales

Estas en el tema de truncar a 2 decimales en el foro de SQL Server en Foros del Web. Quisiera saber por favor como puedo hacer para truncar a 2 decimales un float, es decir si tengo 1234.345 que me de 1234.34. No veo ...
  #1 (permalink)  
Antiguo 18/07/2006, 13:21
Avatar de Jorgemen  
Fecha de Ingreso: mayo-2005
Ubicación: Perú
Mensajes: 322
Antigüedad: 19 años
Puntos: 1
truncar a 2 decimales

Quisiera saber por favor como puedo hacer para truncar a 2 decimales un float, es decir si tengo 1234.345 que me de 1234.34. No veo la forma de hacerlo con sentencias SQL, alguién puede ayudarme?
__________________
Hosting:www.codeperu.com, Trabajo en Perú: www.trabajoperuano.com
  #2 (permalink)  
Antiguo 19/07/2006, 14:27
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años
Puntos: 25
PRINT Convert(Decimal(15,2), 1234.345548, 2)
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
  #3 (permalink)  
Antiguo 19/07/2006, 22:09
Avatar de Jorgemen  
Fecha de Ingreso: mayo-2005
Ubicación: Perú
Mensajes: 322
Antigüedad: 19 años
Puntos: 1
eso no trunca eso practicamente es un round, yo solo quiero truncarlo, es decir que no redondee el valor, gracias
__________________
Hosting:www.codeperu.com, Trabajo en Perú: www.trabajoperuano.com
  #4 (permalink)  
Antiguo 20/07/2006, 13:40
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 4 meses
Puntos: 38
-- Redondeando
Código:
declare @midato float
set @midato =  ROUND(150.756699, 2, 0)
print @midato
-- Sin Redondear
Código:
declare @midato float
set @midato =  ROUND(150.756699, 2, 1)
print @midato
  #5 (permalink)  
Antiguo 20/07/2006, 14:51
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años
Puntos: 25
Entonces tendrás que convertirlo a caracter y de ahí tomar solo los 2 decimales que quieres.

Ten en cuenta en que formato lo vas a almacenar. Los numeros fraccionarios son por naturaleza números aproximados, de manera que tu truncamiento puede terminar en un número como 1.5699999999 Si pretendes 2 dígitos POR FUERZA, entonces tienes que usar campos de tipo varchar o decimal (mucho más lentos y consumen más espacio y memoria)
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
  #6 (permalink)  
Antiguo 20/07/2006, 15:01
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 4 meses
Puntos: 38
de hecho de usa la funcion Round para redondear y para truncar dependiendo del tercer parametro.
  #7 (permalink)  
Antiguo 20/07/2006, 15:06
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años
Puntos: 25
Buen punto, es cierto.
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
  #8 (permalink)  
Antiguo 22/07/2006, 11:10
Avatar de Jorgemen  
Fecha de Ingreso: mayo-2005
Ubicación: Perú
Mensajes: 322
Antigüedad: 19 años
Puntos: 1
gracias a todos, no me queda otra que truncar, ya que las reglas del negocio qeu maneja mi cliente son de ese tipo.
__________________
Hosting:www.codeperu.com, Trabajo en Perú: www.trabajoperuano.com
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 05:06.