Redondear Valores float a dos decimales

25/07/2007 - 19:18 por Isabela | Informe spam
Hola a todos!

Necesito redondear valores float a dos decimales, he probado con
round(@float,2)

pero nada...alguien pudiese indicarme como puedo hacerlo ??

Gracias!

Isabela.

Preguntas similare

Leer las respuestas

#1 Gustavo Larriera (MVP)
25/07/2007 - 22:10 | Informe spam
En los Books Online usted tiene varios ejemplos, los ha mirado?

SELECT ROUND(123.9994, 3), ROUND(123.9995, 3)
123.9990 124.0000

SELECT ROUND(123.4545, 2);
GO
SELECT ROUND(123.45, -2);GO
-

123.4500


(1 row(s) affected)



100.00


(1 row(s) affected)


SELECT ROUND(150.75, 0);
GO
SELECT ROUND(150.75, 0, 1);
GO
151.00

(1 row(s) affected)

150.00

(1 row(s) affected)


Gustavo Larriera, Microsoft MVP
https://mvp.support.microsoft.com/p...o.Larriera
Este mensaje se proporciona tal como es, sin garantías de ninguna clase.



"Isabela" wrote:


Hola a todos!

Necesito redondear valores float a dos decimales, he probado con
round(@float,2)

pero nada...alguien pudiese indicarme como puedo hacerlo ??

Gracias!

Isabela.


Respuesta Responder a este mensaje
#2 Isabela
25/07/2007 - 22:59 | Informe spam
En los Books Online usted tiene varios ejemplos, los ha mirado?



Gustavo, Por supuesto que los he mirado estos fueron los
resultados obtenidos...


DECLARE @FLOAT AS FLOAT
SELECT @FLOAT = 78.96666666

SELECT ROUND(@FLOAT,3)
78.966999999999999


SELECT ROUND(@FLOAT,2)
78.969999999999999

SELECT ROUND(@FLOAT,-2)
100



SELECT ROUND(@FLOAT,0)
79.0

SELECT ROUND(@FLOAT,1)
79.0


Mi problema consistia en que necesitaba guardar estos valores en una
tabla para que fuese utilizada posteriormente en calculos para
reportes finales...

Me aconsejaron cambiar el campo de la tabla a money y me funciono de
esta manera


DECLARE @FLOAT AS MONEY
SELECT @FLOAT = 78.96666666

SELECT ROUND(@FLOAT,2)
78.9700

Aunque igual no pude restringuir los valores a solo dos
decimales ...pero finalmente para calculos si me funciona
perfectamente...

De todos modos disculpen si les molesto pero no manejo muy bien SQL
Server y no dispongo de mucho tiempo para 'cacharrear'

Gracias!

Isabela.
Respuesta Responder a este mensaje
#3 principiante
25/07/2007 - 23:25 | Informe spam

Mi problema consistia en que necesitaba guardar estos valores en una
tabla para que fuese utilizada posteriormente en calculos para
reportes finales...


Me aconsejaron cambiar el campo de la tabla a money y me funciono de
esta manera





Yo usaría siempre para valores de ese tipo NUMERIC (M,N) para evitar cosas
raras.



De todos modos disculpen si les molesto




No molestas y Gustavo siempre es muy servicial.

Puedes seguir preguntando que él o alguien más te ayudará.


José TH
Respuesta Responder a este mensaje
#4 Javier Loria
25/07/2007 - 23:48 | Informe spam
Hola Isabela:
Si Gustavo me permite, una cosa es redondear el valor (lo que hace
Round) y otro cambiar el tipo del valor, que lo puedes hacer con un CAST o
con un CONVERT. Prueba con:
ÞCLARE @FLOAT AS FLOAT
SELECT @FLOAT = 78.96666666

SELECT ROUND(@FLOAT,3)
, CAST(@Float AS NUMERIC(5,1))
= Y diferentes valores.
Saludos,

Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.

"Isabela" wrote in message
news:

En los Books Online usted tiene varios ejemplos, los ha mirado?



Gustavo, Por supuesto que los he mirado estos fueron los
resultados obtenidos...


DECLARE @FLOAT AS FLOAT
SELECT @FLOAT = 78.96666666

SELECT ROUND(@FLOAT,3)
78.966999999999999


SELECT ROUND(@FLOAT,2)
78.969999999999999

SELECT ROUND(@FLOAT,-2)
100



SELECT ROUND(@FLOAT,0)
79.0

SELECT ROUND(@FLOAT,1)
79.0


Mi problema consistia en que necesitaba guardar estos valores en una
tabla para que fuese utilizada posteriormente en calculos para
reportes finales...

Me aconsejaron cambiar el campo de la tabla a money y me funciono de
esta manera


DECLARE @FLOAT AS MONEY
SELECT @FLOAT = 78.96666666

SELECT ROUND(@FLOAT,2)
78.9700

Aunque igual no pude restringuir los valores a solo dos
decimales ...pero finalmente para calculos si me funciona
perfectamente...

De todos modos disculpen si les molesto pero no manejo muy bien SQL
Server y no dispongo de mucho tiempo para 'cacharrear'

Gracias!

Isabela.

Respuesta Responder a este mensaje
#5 Isabela
26/07/2007 - 23:10 | Informe spam
Hola Javier

Sip... muchas gracias... funciono OK.

cuidate

Isabela...
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida