【发布时间】:2011-02-04 17:25:34
【问题描述】:
我需要能够在我的表中存储像 3.5 这样的数字。所以我使用了十进制类型字段。但是如果我输入 3.5 它会四舍五入到 4。我是傻还是有小数点不是小数点?
【问题讨论】:
-
为什么不使用FLOAT,如果您需要将数字四舍五入为0.0 或0.5,请使用look at this thread
-
是的,虽然 FLOAT 是针对大量数字的。认为我需要再次了解数据类型。谢谢领航员!
-
@Jonesy - 请确保您了解 FLOAT 和 DECIMAL 之间的区别,因为它们并不相同。 FLOAT 是近似值:msdn.microsoft.com/en-us/library/ms173773.aspx 与 DECIMAL 参考:msdn.microsoft.com/en-us/library/ms187746.aspx
-
您能否发布小数列的完整定义(即您使用的比例和精度),例如DECIMAL(10, 2) - 10=精度,2=比例。另外,您是如何将数字输入到 UI 中的?在 SQL 语句中?你也可以发一下吗?
-
如果您打算对值进行数学运算,那么浮点数是一个非常糟糕的主意。它将导致舍入错误,因为它不是一个精确的值。非常糟糕的建议。
标签: sql sql-server-2008 types decimal