comparar numeros float

25/02/2004 - 02:11 por Claudio Valdés | Informe spam
Hola a todos, tengo la siguiente duda

como puedo hacer para comparar dos números decimales, indicando la cantidad
de decimales, pero que no los aproxime

por ejemplo

3.67778 y 3.67773

quisiera comparar solamente considerando 3 decimales, sin redondeo

por cualquier ayuda de antemano muchas gracias

Preguntas similare

Leer las respuestas

#1 Maximiliano Damian Accotto
25/02/2004 - 03:32 | Informe spam
Hola, aca va una solucion para nada elegante de por si, pero creo que te
podria ayudar:

declare @n1 float
declare @n2 float
declare @num_decimales int

set @n1 = 3.67778
set @n2 = 3.67773
set @num_decimales = 3



SELECT substring(convert(varchar(20),@n1),1,charindex('.',@n1) +
@num_decimales)
SELECT substring(convert(varchar(20),@n1),1,charindex('.',@n2) +
@num_decimales)

Bye Bye

Salu2 enormes

Maximiliano Damian Accotto

Fundicion San Cayetano S.A.
Gerente de IT
Buenos Aires - Argentina
-
Desarrollador 3 estrellas
http://www.microsoft.com/spanish/ms...efault.asp
-
(maxi_accotto[arroba]speedy.com.ar)
MSN:
-

"Claudio Valdés" escribió en el mensaje
news:OKioUxz%
Hola a todos, tengo la siguiente duda

como puedo hacer para comparar dos números decimales, indicando la


cantidad
de decimales, pero que no los aproxime

por ejemplo

3.67778 y 3.67773

quisiera comparar solamente considerando 3 decimales, sin redondeo

por cualquier ayuda de antemano muchas gracias




Respuesta Responder a este mensaje
#2 Maximiliano Damian Accotto
25/02/2004 - 04:11 | Informe spam
hola en la segunda Select hay un error minimo de codigo,
dice:

SELECT substring(convert(varchar(20),@n1),1,charindex('.',@n2) +
@num_decimales)


y debe ser

SELECT substring(convert(varchar(20),@n2),1,charindex('.',@n2) +
@num_decimales)

Bye

Salu2 enormes

Maximiliano Damian Accotto

Fundicion San Cayetano S.A.
Gerente de IT
Buenos Aires - Argentina
-
Desarrollador 3 estrellas
http://www.microsoft.com/spanish/ms...efault.asp
-
(maxi_accotto[arroba]speedy.com.ar)
MSN:
-

"Claudio Valdés" escribió en el mensaje
news:OKioUxz%
Hola a todos, tengo la siguiente duda

como puedo hacer para comparar dos números decimales, indicando la


cantidad
de decimales, pero que no los aproxime

por ejemplo

3.67778 y 3.67773

quisiera comparar solamente considerando 3 decimales, sin redondeo

por cualquier ayuda de antemano muchas gracias




Respuesta Responder a este mensaje
#3 Adrian D. Garcia
25/02/2004 - 11:29 | Informe spam
Puedes utilizar la funcion ROUND de T-SQL con el parametro adicional que
indica que trunque en vez de rendondear. Ej.:

WHERE ROUND(3.67778 , 3, 1) = ROUND(3.67773 , 3, 1)

El tercer parametro 1 indica truncamiento, mientras que si no lo
especificamos o definimos 0 redondea.


Saludos
Adrian D. Garcia
MCSD
NDSoft Consultoria y Desarrollo

"Claudio Valdés" wrote in message
news:OKioUxz%
Hola a todos, tengo la siguiente duda

como puedo hacer para comparar dos números decimales, indicando la


cantidad
de decimales, pero que no los aproxime

por ejemplo

3.67778 y 3.67773

quisiera comparar solamente considerando 3 decimales, sin redondeo

por cualquier ayuda de antemano muchas gracias




Respuesta Responder a este mensaje
#4 Miguel Egea
25/02/2004 - 23:13 | Informe spam
Creo que mi primera noche sin dormir hace ya muchos años me la produjo esto
mismo pero en C, yo lo que hago es restarlos y ver la diferencia
if abs(3.67778-3.67773)<0.001 ...


=Miguel Egea
http://www.portalsql.com
Microsoft SQL-SERVER MVP.
Brigada Anti-Cursores
Aviso de Seguridad
http://www.microsoft.com/spain/tech...9-USER.asp
==
"Claudio Valdés" escribió en el mensaje
news:OKioUxz%
Hola a todos, tengo la siguiente duda

como puedo hacer para comparar dos números decimales, indicando la


cantidad
de decimales, pero que no los aproxime

por ejemplo

3.67778 y 3.67773

quisiera comparar solamente considerando 3 decimales, sin redondeo

por cualquier ayuda de antemano muchas gracias




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