Questione : effetti bizzarri using ROTONDO () su REALs in TSQL

Sto provando ad aggiungere alcune colonne che sono reals ed arrotondo il risultato alle colonne decimali di 2x places.

My sono REALS ed ho potuto riprodurre l'insetto using i vars di tipo REAL.

Consider questo codice sotto cui pensiamo restituire i ritorni di 710.40

This: il
710.39999999999998

yet se rimuoviamo la chiamata () a
it rinvia: il
710.40002

What sta accadendo qui?
And come posso ottenere un arrotondamento esatto (ai posti decimali 2x) di questi REALS?

I using i ringraziamenti dell'assistente 2000.

Many di SQL!
class= > " libero " 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 REALE, @r2 REALE, @r3 REALE, @r4 REALE, @r5 REALE, @r6 REALE, @r7 REALE, @r8 REALE, @r9 REALE, @r10 REALE, @r11 " del class= " del id= " codeSnippet785575 del
           
class= del

Risposta : effetti bizzarri using ROTONDO () su REALs in TSQL

Ma poichè il ralmada ha precisato state usando un numerico approssimativo che non è inteso per quello scopo, in modo da avete una coppia di opzioni:
1. Cambiare il vostro codice per usare i tipi di dati adatti come numerico (10, 5) ottenere uscita costante.
2. Lasciare il codice come è e che vivere con esso o che aggiornare a 2005/2008 e che sperare che non otteniate ancora la punta.

Selezionare il vostro veleno.
Altre soluzioni  
 
programming4us programming4us