Problema función Round

30/11/2007 - 13:24 por Marcos Molero | Informe spam
saludos,

tengo un problema con la función round, y es que no esta redondeando como se
debe en ciertos números, por ejemplo:

declare @valor float

select @valor=round(123.323,2)
select @valor

Devuelve: 123.319999999
Cuando el resultado correcto debería ser: 123.32

La función devuelve el resultado correcto cuando se redondea por encima de 5:

declare @valor float

select @valor=round(123.326,2)
select @valor

Devuelve: 123.33

Cómo debo hacer para obtener el resultado deseado?
 

Leer las respuestas

#1 Maxi
30/11/2007 - 14:18 | Informe spam
Marcos, este no es un problema de la funcion Round sino del tipo de datos
que usted ha seleccionado (Float)

Mire este ejemplo que le paso

declare @valor decimal(18,2)

select @valor=round(123.323,2)
select @valor


Acerca del tipo de datos Float:

float and real
Approximate number data types for use with floating point numeric data.
Floating point data is approximate; not all values in the data type range
can be precisely represented.



-
Microsoft M.V.P en SQLServer
SQLTotal Consulting - Servicios en SQLServer
Email:
"Marcos Molero" escribió en el
mensaje news:
saludos,

tengo un problema con la función round, y es que no esta redondeando como
se
debe en ciertos números, por ejemplo:

declare @valor float

select @valor=round(123.323,2)
select @valor

Devuelve: 123.319999999
Cuando el resultado correcto debería ser: 123.32

La función devuelve el resultado correcto cuando se redondea por encima de
5:

declare @valor float

select @valor=round(123.326,2)
select @valor

Devuelve: 123.33

Cómo debo hacer para obtener el resultado deseado?

Preguntas similares