Questo perché stai usando il tipo di database float.
Float non deve essere utilizzato per rappresentare valori che richiedono precisione, poiché vengono archiviati come approssimazioni, manipolazioni diverse possono darti risultati diversi.
In sql server puoi utilizzare tipi di dati decimali e numerici per la precisione numerica:http://msdn.microsoft.com/en-us/library/ms187746.aspx