是否将sql数据类型钱映射到c#float?确实有钱地图漂浮好吗?
回答
不......它映射到decimal
。如果该列允许为空,则映射到Nullable<Decimal>
。
float
不够精确用于货币计算。你会在所有地方失去/获得金钱。
只有当列允许空值时 - 否则,它直接映射到十进制。 – 2009-12-18 19:36:09
@Reed - 感谢您的澄清。领先于我自己。适当更新。 – 2009-12-18 19:37:19
为什么它没有显示答案被编辑? – CSharpAtl 2009-12-18 19:37:58
我会使用十进制。
十进制值类型表示 十进制数范围从正 79,228,162,514,264,337,593,543,950,335 到负 79,228,162,514,264,337,593,543,950,335。 十进制值类型适用于需要 的大量重要积分 和小数位数和不舍入 错误的财务计算 。十进制类型不包括 消除了四舍五入的需要。 相反,它最大限度地减少了由于 四舍五入造成的错误。
编号
货币映射到Decimal。如果MONEY列允许空值,则它将映射到Nullable<Decimal>.
。有关详细信息,请参见SQL-CLR Type Mapping。
浮点数不够精确,无法用于处理货币的数值计算。您应该始终使用十进制值进行所有计算。
不,float
精度太低,无法处理货币价值。七位数字不会让你走得很远。由于数字的表示方式,浮点类型也容易出现舍入误差。使用Decimal
数据类型。
- 1. IE8漂浮不好
- 2. 漂浮不好吗?什么应该用在它的地方
- 3. 漂浮的元素没有正确漂浮
- 4. “更好”漂浮在CSS
- 5. 确保我http_basic_authenticate_with密码没有漂浮
- 6. 使C漂浮精确?
- 7. css漂浮,不漂浮?
- 8. 漂浮在漂浮物内?
- 9. 浮动:正确;不是一路漂浮
- 10. 获得漂浮的UL以正确覆盖漂浮的DIV
- 11. 现代浮点实现能够处理精确单位(如金钱)吗?
- 12. 有时浮动好于浮动吗?
- 13. 图像在铬合金中没有正确漂浮
- 14. 图像漂浮在DIV
- 15. 实际上很漂亮的UML图吗?
- 16. 积累所有漂浮物
- 17. 在DIV旁边漂浮IMAGE吗?
- 18. 不能正确漂浮列表
- 19. 大文本不漂浮正确
- 20. 在IE中漂浮不正确对齐
- 21. 如何正确漂浮跨度
- 22. 无法获取“格”漂浮正确
- 23. 漂浮在CSS
- 24. 用浮漂
- 25. 漂浮在C++
- 26. 错误漂浮
- 27. CSS漂浮右
- 28. 圆浮漂浮在阵列
- 29. 有没有python-purple漂浮的例子?
- 30. 李有漂浮在IE6/7。它消失了吗?
另外mrblah你有一个非常高的点数。在发布这样的问题之前谷歌甚至搜索这个相同的确切问题。它已被问了数百次。 – JonH 2009-12-18 19:42:03
@JonH:一定要在SO上搜索。但它从来没有打算在Google之后成为你的第二选择。这个网站是专门设计,使谷歌搜索不必要的。给人们一个值得信赖的网站来获得答案,而不是依靠Google向我们指出数百个不同和不可靠的网站。 – jalf 2009-12-18 19:48:31
@jalf - 我的观点是搜索是必要的,而不是发布一个简单的问题。除此之外,如果你在谷歌搜索,结果会在这里指出你的相当大的机会。如果你处于编码的中间,并且你需要一些真正快速的东西,那么使用谷歌搜索就没有任何问题。 – JonH 2009-12-18 20:07:11