2016-10-21 9 views
1

Я использую доступный считыватель dbf matlab Я заметил, что три целых числа несколько раз читаются неправильно.Почему считыватель Matlab dbf-reader неправильно считывает определенные целые числа?

Исходные данные из DBF-файла:

Lamax, DTLD, 1,599,727Q9, A, STANDARD, 1,18,18,0,2359.5

Но, глядя на данные в Matlab вы видите, что становится . Почему это?

'Lamax', 'DTLD', [1], [995], '727Q9', 'А', 'СТАНДАРТ', '1', '18', '18', '0' ,
[2.3595e + 03]

Это, как я прочитал файл DBF с MatLab кодом

[dbfData, NAMES] = dbfread(path2file); 

где dbfData это фактические данные и имена являются имена полей в DBF-файле ,

EDIT:

DBF-файл был создан с INM

При открытии файла DBF с помощью OpenOffice заголовки выглядят как этот

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; РАССТОЯНИЕ, N, 9,1

Искаженные целые числа сохраняются с 3 числа цифр без десятичных знаков J_INDEX, N, 3,0

+0

Как вы просматриваете исходные данные? Каким полем являются целые числа? Какое программное обеспечение создало файл dbf? –

+0

Вы видите ответ в редакции. – Meatball

ответ

2

Вы использовали обновленную версию STR2DOUBLE2CELL?

Из указанной выше ссылке:

STR2DOUBLE2CELL подфункции иногда работает неправильно, если количество цифр в качестве входного параметра отличается

+0

Ну, это сработало :-) – Meatball

 Смежные вопросы

  • Нет связанных вопросов^_^