在VB.NET中存储货币值的最合适的数据类型是什么?
答案 0 :(得分:13)
Decimal
(BCL中System.Decimal
structure的别名)用于存储货币值。它是一个128位十进制浮点类型(与二进制浮点相反),可用于存储具有高小数精度的“真实世界”值。通过现实世界,我特别指的是最初以十进制形式进行的测量。 Double通常适用于在表示为十进制数时不需要那么多精度的计算。
十进制值类型表示十进制数,范围从正数79,228,162,514,264,337,593,543,950,335到负数79,228,162,514,264,337,593,543,950,335。十进制值类型适用于财务计算,需要大量有效积分和小数位数且没有舍入误差。 Decimal类型不会消除舍入的需要。相反,它最大限度地减少了因舍入而导致的错误。例如,以下代码生成的结果为0.9999999999999999999999999999而不是1.