SQL 服务器和重复小数

SQL Server and repeating decimals

如何处理sql服务器计算中的重复小数?

例如:1/3 = 0.33333333333

但是当我在计算中再次使用它时,它给出了无效数字

3* 0.33333=0.9999999 不是 1

你的小数位似乎不够精确。

例如,请注意以下内容:

DECLARE @f float;

SET @f = 0.333333333333333;
SELECT @f * 3;
SET @f = 0.3333333333333333;
SELECT @f * 3;

注意第一个 SELECT returns 0.999999999999999,但是第二个 returns 1.