short int、long、float、double使用问题说明
作者:
在Access数据导出到DBF时遇到此问题,DBF中的字段宽度不是指Access中的字段所占字节数,而是字符数。
short int 短整型 2个字节 值范围 -32768~32767
long 长整型 4个字节 值范围 -2147483648~2147483647 float 单精度 4个字节 值范围 -3.4*10(-38)~3.4*10(38)
double 双精度 8个字节 值范围 -1.7*10(-308)~1.7*10(308)
在Access数据导出到DBF时遇到此问题,DBF中的字段宽度不是指Access中的字段所占字节数,而是字符数。 在DBF中,整数与浮点数都是以字符形式存储的。例如:-3.134存储为“-3.135”,共占了6个字符。
所以
对于Access中的短整型,存储为DBF中的字段宽度为6;
对于Access中的长整型,存储为DBF中的字段宽度为11;
对于Access中的单精度,存储为DBF中的字段宽度为18,小数位为7;
对于Access中的双精度,存储为DBF中的字段宽度为24,小数位为15。
就是说,access中的单精度、双精度数据,转储到DBF中很难保证精度。
long 长整型 4个字节 值范围 -2147483648~2147483647 float 单精度 4个字节 值范围 -3.4*10(-38)~3.4*10(38)
double 双精度 8个字节 值范围 -1.7*10(-308)~1.7*10(308)
在Access数据导出到DBF时遇到此问题,DBF中的字段宽度不是指Access中的字段所占字节数,而是字符数。 在DBF中,整数与浮点数都是以字符形式存储的。例如:-3.134存储为“-3.135”,共占了6个字符。
所以
对于Access中的短整型,存储为DBF中的字段宽度为6;
对于Access中的长整型,存储为DBF中的字段宽度为11;
对于Access中的单精度,存储为DBF中的字段宽度为18,小数位为7;
对于Access中的双精度,存储为DBF中的字段宽度为24,小数位为15。
就是说,access中的单精度、双精度数据,转储到DBF中很难保证精度。