我有一个应用程序计算值-1407.858; C#数据类型为decimal
。插入SQL Server四舍五入问题
数据库中的列数据类型是十进制(12,2)。我会认为它会绕过这个值,并插入-1407.86(这将满足从零舍入到甚至舍入)。
不幸的是,该值被插入为-1407.85。我唯一可以解释的是最后一个数字被截断。
我已经做了在SQL Server的一些简单的测试查询,如:
declare @first AS decimal(12,2)
declare @second AS float --[or decimal(12,3)]
set @second = -1407.858
set @[email protected]
select @first;
我回来-1407.86,所以我想SQL Server时,它的设置他们,而不是插入时它们会自动舍入值。它是否正确? SQL Server只在插入时截断,而在设置时会截断?
这里有什么问题? – JNK 2011-12-21 16:57:42
是的,当您将它放入一个带两位小数的变量中时,它会将值舍入为两位小数。 – Stu 2011-12-21 17:00:03
@哈里,问题是......? :) – 2011-12-21 17:02:44