short int、long、float、double使用问题说明(int char short所占字节数)硬核推荐

随心笔谈2年前发布 admin
194 0 0

文章摘要

文章讨论了在Microsoft Access中将数据导出到DBF文件时,不同数据类型字段宽度转换的问题。由于DBF文件中的整数和浮点数以字符形式存储,字段宽度和精度可能会受到影响。具体来说,短整型在DBF中占用6个字符,长整型占用11个字符,单精度占用18位小数(小数位7),双精度占用24位小数(小数位15)。这种转换可能导致数据精度丢失,尤其是单精度和双精度数据在转换后可能无法保持原有的精度。文章提醒用户在处理数据时需注意这些转换细节,以避免精度问题。同时,文章标题及相关文章标题供用户参考。


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中很难保证精度。

您可能感兴趣的文章:Java中的双重检查(Double-Check)详解C#生成设置范围内的Double类型随机数的方法java对double数组排序示例分享java使double保留两位小数的多方法 java保留两位小数基于C++浮点数(float、double)类型数据比较与转换的详解C# double和decimal数据类型以截断的方式保留指定的小数位数C# DoubleClick与MouseDoubleClick区别,双击事件引发顺序C语言double和float 实例分析

© 版权声明

相关文章