Cuestión : efectos extraños usar REDONDO () en REALs en TSQL

Estoy intentando agregar para arriba algunas columnas que sean reals, y redondeo el resultado a las columnas decimales de 2x places.

My soy REALS, y he podido reproducir el insecto usar vars del tipo REAL.

Consider este código debajo de el cual esperamos volver vueltas de 710.40

This: el
710.39999999999998

yet si quitamos la llamada () al
it vuelve: ¿el
710.40002

What está sucediendo aquí? ¿
And cómo puedo conseguir un redondeo exacto (a los lugares decimales 2x) de estos REALS? ¡

I usar gracias del servidor 2000.

Many del SQL!
class= > " claro " del
> del " codeSnippet " del class= del
class= " lineNumbers " del
class= del
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
>DECLARE notpretty @r1 VERDADERO, @r2 VERDADERO, @r3 VERDADERO, @r4 VERDADERO, @r5 VERDADERO, @r6 VERDADERO, @r7 VERDADERO, @r8 VERDADERO, @r9 VERDADERO, @r10 VERDADERO, @r11 " del class= " del id= " codeSnippet785575 del
           
class= del

Respuesta : efectos extraños usar REDONDO () en REALs en TSQL

Pero como el ralmada ha precisado usted está utilizando un numérico aproximado que no se piense para ese propósito, así que usted tiene unas par de opciones:
1. Cambiar su código para utilizar tipos de datos apropiados tales como numérico (10, 5) conseguir salida constante.
2. Dejar el código como es, y vivir con él o aumentarlo a 2005/2008 y esperar que usted no consigue el pedacito otra vez.

Escoger su veneno.
Otras soluciones  
 
programming4us programming4us