我收到金钱类型的 sql 异常(算术溢出错误)。如何在 c# 中设置金钱的最小值和最大值。我的 sql 类型是金钱,而 C# 数据类型是 double。货币范围是 (-922,337,203,685,477.5808) 到 (922,337,203,685,477.5807)。
问问题
2005 次
3 回答
0
改为使用decimal
;如果您特别想设置最小/最大值,那么:
const decimal Min = -922337203685477.5808M, Max = 922337203685477.5807M;
不过,就个人而言,我建议不要过多地弄乱最小值/最大值。在这些情况下, Anull
可能比实际值更清晰。
或者,有一种System.Data.SqlTypes.SqlMoney
类型,它具有MinValue
并且MaxValue
- 我个人会尽量避免将实现细节(例如SqlMoney
)泄漏到您的域模型中。
于 2013-08-12T09:44:23.873 回答
0
不要使用双精度 - 在 C# 中使用小数表示货币。
于 2013-08-12T09:43:07.520 回答