VB.NET用于存储货币值的最佳数据类型

bur*_*gar 8 vb.net types currency

在VB.NET中存储货币值的最合适的数据类型是什么?

Meh*_*ari 13

Decimal(BCL中System.Decimal结构的别名)用于存储货币值.它是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.

  • 因为有些会计师不会失去超过十分之一便士的睡眠. (3认同)
  • 它不是“一分钱的十亿分之一”。二进制浮点不能存储 0.02 (2认同)