删除浮点数的整数部分的最佳方法

时间:2014-05-05 07:15:55

标签: sql-server sql-server-2008-r2 rounding

要删除浮点数的整数部分,我使用:

update ACTIVITIES set TIME = TIME - FLOOR(TIME) --TIME is float

这在计算中仍有效,因为浮点计算会产生一些错误。

编辑:我无法修改架构,TIME必须保留float

我需要这样做的原因是因为一个错误,浮点数变为> 1即使小数部分仍然可以。所以我需要删除整数部分。

我现在无法重现它,但我记得我有类似的东西:

1.6666666667变为0.6666542534,而它应为0.6666666667

请注意,这是遗留代码,因此TIME是一个浮点数,而如果我从头开始编写,我将使用TIME数据类型。

所以我的问题是:这是正确的还是可以改进?

update ACTIVITIES set TIME = TIME - FLOOR(TIME)

0 个答案:

没有答案