我使用matlab dbf reader here 我注意到有时候读取三位数的整数是错误的。
来自dbf-file的原始数据:
LAMAX,DTLD,1,599,727Q9,A,STANDARD,1,18,18,0,2359.5
但是看看Matlab中的数据,你会发现 599 变为 995 。 为什么?
'LAMAX', 'DTLD',[1],[995], '727Q9', 'A', '标准', '1', '18', '18', '0',
[2.3595e + 03]
这是我用matlab代码
读取dbf文件的方法[dbfData, NAMES] = dbfread(path2file);
其中dbfData是实际数据,NAMES是dbf文件中的字段名称。
编辑:
dbf文件是使用INM
创建的当我使用OpenOffice打开dbf文件时,标题看起来像这样
METRIC_ID,C,6; GRID_ID,C,8I_INDEX,N,3,0; J_INDEX,N,3,0; ACFT_ID,C,12; OP_TYPE,C,1; PROF_ID1,C,8; PROF_ID2,C,1; RWY_ID,C,8; TRK_ID1,C,8; TRK_ID2,C,1; DISTANCE,N,9,1
扭曲的整数存储有3位数字,不带小数 J_INDEX,N,3,0
答案 0 :(得分:2)
您是否使用过STR2DOUBLE2CELL的更新版本?
从上面的链接:
如果输入参数中的位数不同,STR2DOUBLE2CELL子函数有时会无法正常工作