Я пытаюсь написать матрицу в текстовый файл. Первым элементом моей матрицы является число (идентификатор объекта), которое имеет несколько цифр. Первая цифра может быть равна нулю (например, 023512, 146498 и т. Д.).Преобразование числа в строку в matlab
Для записи файла, у меня есть цикл:
objectID = [023512, 023534, 112512, 063512, 223512];
fSpec = ['%s', '\n'];
fID = fopen('file', 'w');
for k=1:5
to_write = [num2str(objectID(k)) ',' 'l'];
fprintf(fID, fSpec, to_write);
end
fclose(fID)
В этом примере я получаю файл
23512, л 23534, л 112512, л 63512, л 223512 , l
0 исчезли.
Я попытался использовать% d в fSpec ['% d' '% s' '% s' '\ n], но в этом случае я получаю предупреждение: значения вне диапазона или нецелые значения усечены во время преобразования в символ. Нуль все еще удаляется, и все записывается в одну строку.
Есть ли способ конвертировать число в строку без усечения нуля?
Спасибо
Где 'objectID' приходят из? 'objectID = [023512, 023534, 112512, 063512, 223512];' не будут иметь ведущих нулей, потому что они цифры. вы можете сделать 'objectID = ['023512', '023534', '112512', '063512', '223512'];' или если это фиксированная цифра, то вы можете после этого заполнить нулями? – Dan
Это фиксированная цифра, поэтому я буду заполнять нулями. Спасибо – bigTree
@bigTree Я думаю, что вы должны использовать мое решение – Nick