为什么Matlab dbf-reader读取某些整数错误?

时间:2016-10-21 08:19:29

标签: matlab dbf dbase

我使用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

1 个答案:

答案 0 :(得分:2)

您是否使用过STR2DOUBLE2CELL的更新版本?

从上面的链接:

如果输入参数中的位数不同,

STR2DOUBLE2CELL子函数有时会无法正常工作