在VB.NET中,存储货币值的最合适的数据类型是什么?
Decimal
(在BCL中别名为System.Decimal
结构)被设计用于存储货币值。它是一种128位十进制浮点类型(相对于二进制浮点),非常适合存储具有高精度小数的“真实世界”值,特指最初以十进制形式进行测量的值。当表示为十进制数时,Double通常适用于不需要太高精度的计算。
Decimal值类型表示从正79,228,162,514,264,337,593,543,950,335到负79,228,162,514,264,337,593,543,950,335的十进制数。Decimal值类型适用于需要大量有效整数和小数位且无舍入误差的金融计算。Decimal类型并不消除舍入的需求,而是最小化由于舍入引起的误差。例如,下面的代码产生结果为0.9999999999999999999999999999,而不是1。