Funzione round su float

venerdì 22 luglio 2016 - 16.26

dompa72 Profilo | Senior Member

Ho la necessità di effettuare un arrotondamento con due decimali ad un campo float, questo con il valore 1.6800000000000002 di partenza (dovuto ad una divisione) il campo si aggiorna sempre con questo valore e non 1,68

Eseguo il select di quel campo con round ([campo], 2) questo visualizza 1,68

quindi per capirci qualcosa lancio questa query select round (1.6800000000000002, 2, 1) con il risultato (anche se ometto il terzo parametro il risultato non cambia)
---------------------------------------
1.6800000000000000

sono costretto a SELECT CAST(ROUND(1.6800000000000002, 2) AS numeric(20, 2))
---------------------------------------
1.68

(Righe interessate: 1)

naturalmente sono curioso di capire il perché?

Grazie
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5