Decimal 数据类型
包含小数数值的数据类型。对于没有小数点的数字,其范围是 +/-79,228,162,514,264,337,593,543,950,335。对于有 28 个小数位的数而言,其范围是 +/-7.9228162514264337593543950335。Decimal 的最小非零数值可表示为 0.0000000000000000000000000001。注意,此时 Decimal 数据类型只可以在 Variant 内使用。不能将变量声明为 Decimal 类型。但是,可创建一个 Variant ,其子类型为使用 Cdec 函数的 Decimal。 
Currency 数据类型
      Currency 变量存储为 64 位(8 个字节)整型的数值形式,然后除以 10,000 给出一个定点数,其小数点左边有 15 位数字,右边有 4 位数字。这种表示法的范围可以从 -922,337,203,685,477.5808 到 922,337,203,685,477.5807。Currency 的类型声明字符为at号 (@)。Currency 数据类型在货币计算与定点计算中很有用,在这种场合精度特别重要。

解决方案 »

  1.   

    使用 Long 整型变量和整数运算
    算术运算中要避免使用 Currency、Single 和 Double 变量;并尽量使用 Long 整型变量,尤其在循环体中。因为 Long 整数是 32 位 CPU 的本机数据类型,所以其操作非常快;如果无法使用 Long 变量,就要尽量使用 Integer 或 Byte 数据类型。很多时候,即使在要求使用浮点数的情况下,也可以使用 Long 整数。例如,在窗体和图形控件的 ScaleMode 属性设置为缇或象素时,就可以在控件和图形方法中使用 Long 整型变量表示大小和位置。进行除法运算时,如果不需要小数部分,就可以使用整数除法运算符 (/)。由于浮点运算需要转移到协处理器上进行,而整数运算并不需要,所以整数运算总是比浮点运算快。如果确实需要做小数运算,则 Double 数据类型比 Currency 数据类型快。