数据库字段设置问题,欢迎讨论!

hillmanweb 2002-03-31 01:38:58
小弟在使用Access2000建库时,对以下几个数据类型理解不够深,请各位指点迷津:

1、小数。存储从 -10^38 -1 到 10^38 -1 (.adp) 范围的数字,存储从 -10^28 -1 到 10^28 -1 (.mdb) 范围的数字,28位小数,12个字节。请问这种类型用于什么情况,不是已经有Single或Double了吗?有什么区别?在VB里对应的数据类型是什么?

2、货币(Currency)。货币值或用于数学计算的数值数据,这里的数学计算的对象是带有 1 到 4 位小数的数据。精确到小数点左边 15 位和小数点右边 4 位。8个字节。请问大家用于存储货币的数据时用的就是这种类型吗?如果是,有些什么需要注意的呢?另外,用Single或者Double或小数存储货币数据可以吗?我已知道单、双精度型需要浮点运算,而货币型是定点运算,速度要快一些,除此之外,又有些什么区别?是否带有1到4位小数的数据就可以用Currency类型来存储呢?在VB里对应的数据类型是什么?
...全文
3 点赞 收藏 2
写回复
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
water_j 2002-03-31
使用 Long 整型变量和整数运算
算术运算中要避免使用 Currency、Single 和 Double 变量;并尽量使用 Long 整型变量,尤其在循环体中。因为 Long 整数是 32 位 CPU 的本机数据类型,所以其操作非常快;如果无法使用 Long 变量,就要尽量使用 Integer 或 Byte 数据类型。很多时候,即使在要求使用浮点数的情况下,也可以使用 Long 整数。例如,在窗体和图形控件的 ScaleMode 属性设置为缇或象素时,就可以在控件和图形方法中使用 Long 整型变量表示大小和位置。

进行除法运算时,如果不需要小数部分,就可以使用整数除法运算符 (/)。由于浮点运算需要转移到协处理器上进行,而整数运算并不需要,所以整数运算总是比浮点运算快。如果确实需要做小数运算,则 Double 数据类型比 Currency 数据类型快。

回复
water_j 2002-03-31
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 数据类型在货币计算与定点计算中很有用,在这种场合精度特别重要。

回复
发动态
发帖子

1180

社区成员

VB 数据库(包含打印,安装,报表)
申请成为版主
社区公告
暂无公告