我正在开发一个ASP.NET C#会计应用程序,我正处于从使用浮点数/双打到使用小数来表示钱的过渡中。
现在我想控制舍入发生的时间和地点。 我理解它的方式,SQL服务器舍入十进制数据类型不同于C#。
如果十进制值(或任何类型的数据)被截断或舍入,是否有某种方法可以让SQL server(2008)发出警告或失败?
谢谢,
答案 0 :(得分:3)
查看SET NUMERIC_ROUNDABORT和使用SET ARITHABORT
的表格这决定了是否发生任何事情。某事(错误或警告)取决于SET ARITHABORT。但是,您会收到NULL警告。
我考虑在客户端代码中进行计算,或使用宽小数(例如38,20)来缓解它