将sql数据类型的钱映射到c#float?
答案 0 :(得分:12)
否......它映射到decimal
。如果列允许null,则映射到Nullable<Decimal>
。
float
不够精确,无法用于货币计算。你会在整个地方失去/赚钱。
答案 1 :(得分:2)
我使用小数。
十进制值类型表示 十进制数从正数 79,228,162,514,264,337,593,543,950,335 否定的 79,228,162,514,264,337,593,543,950,335。 十进制值类型是合适的 用于需要的财务计算 大量的重要积分 和小数位,没有四舍五入 错误。 Decimal类型没有 消除了舍入的需要。 相反,它最大限度地减少了由于的错误 四舍五入。
答案 2 :(得分:2)
只有你想赔钱。
答案 3 :(得分:0)
没有
资金映射到Decimal。如果MONEY列允许空值,则会映射到Nullable<Decimal>.
有关详细信息,请参阅SQL-CLR Type Mapping。
Float对于处理货币的数值计算来说不够精确。您应该始终使用小数值进行所有计算。
答案 4 :(得分:0)
不,float
的精确度太低,无法处理货币价值。七位数字不会让你走得太远。此外,浮点类型由于数字的表示方式而容易出现舍入误差。
使用Decimal
数据类型。