Формат выходных полей, заданных операторов форматирования использования. formatSpec также может включать обычный текст и специальные символы.
Если formatSpec включает буквенный текст, представляющий символы ESC, такие как \n, затем num2str переводит символы ESC.
formatSpec может быть вектор символов в одинарных кавычках, или, запускающийся в R2016b, строковом скаляре.
Оператор форматирования
Оператор форматирования запускается со знака процента, %, и концы с символом преобразования. Символ преобразования требуется. Опционально, можно задать идентификатор, флаги, ширину поля, точность, и выделить подтипы в операторах между % и символ преобразования. (Пробелы недопустимы между операторами и показаны здесь только для удобочитаемости).
Символ преобразования
Эта таблица показывает символы преобразования, чтобы отформатировать числовые и символьные данные как текст.
| Тип значения | Преобразование | Детали |
|---|
Целое число, подписанное | %d или %i
| Основа 10 |
Целое число, без знака | %u
| Основа 10 |
%o
| Базируйтесь 8 (восьмеричный) |
%x
| Основывайте 16 (шестнадцатеричных), строчных букв aF |
%X
| То же самое как %x, прописные буквы AF |
Число с плавающей запятой | %f
| Представление с фиксированной точкой (Используют оператор точности, чтобы задать количество цифр после десятичной точки.) |
%e
| Экспоненциальное представление, такое как 3.141593e+00 (Используйте оператор точности, чтобы задать количество цифр после десятичной точки.) |
%E
| То же самое как %e, но верхний регистр, такой как 3.141593E+00 (Используйте оператор точности, чтобы задать количество цифр после десятичной точки.) |
%g
| Более компактный из %e или %f, без конечных нулей (Используют оператор точности, чтобы задать количество значительных цифр.) |
%G
| Более компактный из %E или %f, без конечных нулей (Используют оператор точности, чтобы задать количество значительных цифр.) |
Символы или строки | %c
| Отдельный символ |
%s
| Вектор символов или массив строк. Тип синтезируемого текста совпадает с типом formatSpec. |
Дополнительные операторы
Дополнительный идентификатор, флаги, ширина поля, точность и операторы подтипа далее задают формат синтезируемого текста.
Идентификатор
Примечание: в отличие от этого, sprintf функция, num2str не поддерживает идентификаторы.
Флаги
'–'
| Лево-выровнять по ширине.
Пример:
%-5.2f
Пример:
%-10s |
'+'
| Всегда распечатывайте символ знака (+ или –) для любого числового значения.
Пример:
%+5.2f Право - выравнивает текст.
Пример:
%+10s |
' '
| Вставьте пробел перед значением.
Пример:
% 5.2f |
'0' | Заполните к ширине поля нулями перед значением.
Пример:
%05.2f |
'#'
| Измените выбранные числовые преобразования: Для %oX, или %X, распечатайте 0, 0x, или 0X префикс. Для %fE, или %E, распечатайте десятичную точку, даже когда точность 0. Для %g или %G, не удаляйте конечные нули или десятичную точку.
Пример:
%#5.0f |
Ширина поля
Минимальное количество символов, чтобы распечатать.
Пример:
'%5d' печать intmax как 2147483647 потому что значение, возвращенное intmax превышает минимальное количество символов, чтобы распечатать.
Если количество символов, чтобы распечатать меньше ширины поля, то compose функционируйте клавиатуры к ширине поля с пробелами перед значением, если в противном случае не задано флагами.
Однако num2str функция не заполняет к ширине поля пробелами.
Точность
Количество цифр, чтобы распечатать.
Для %fE, или %E | Количество цифр справа от десятичной точки
Пример:
'%.4f' печать pi как '3.1416' |
Для %g или %G | Количество значительных цифр
Пример:
'%.4g' печать pi как '3.142' |
Пример:
'%6.4f' печать pi как '3.1416'.
Примечание
Если вы задаете оператор точности для значений с плавающей точкой, который превышает точность входного типа числовых данных, результаты не могут совпадать с входными значениями к точности, которую вы задали. Результат зависит от вашего компьютерного оборудования и операционной системы.
Подтипы
Можно использовать оператор подтипа, чтобы распечатать значение с плавающей точкой как его восьмеричное, десятичное, или шестнадцатеричное значение. Оператор подтипа сразу предшествует символу преобразования. Эта таблица показывает преобразования, которые могут использовать подтипы.
Тип входного значения | Подтип и символ преобразования | Тип выходного значения |
|---|
Число с плавающей запятой | %bx или %bX
%bo
%bu
| С двойной точностью шестнадцатеричное, восьмеричное, или десятичное значение
Пример:
%bx печать pi как 400921fb54442d18 |
%tx или %tX
%to
%tu
| Шестнадцатеричное, восьмеричное, или десятичное значение с одинарной точностью
Пример:
%tx печать pi как 40490fdb |
Текст прежде или после операторов форматирования
formatSpec может также включать дополнительный текст перед знаком процента, %, или после символа преобразования. Текст может быть:
Обычный текст, чтобы распечатать.
Специальные символы, которые вы не можете ввести как обычный текст. Эта таблица показывает, как представлять специальные символы в formatSpec.
Специальный символ | Представление |
|---|
Одна кавычка | ''
|
Символ процента | %%
|
Обратная косая черта | \\
|
Предупреждение | \a
|
Клавиша Backspace | \b
|
Перевод формата | \f
|
Новая строка | \n
|
Возврат каретки | \r
|
Горизонтальная табуляция | \t
|
Вертикальная табуляция | \v
|
Символ, числовое значение Unicode® которого может быть представлено шестнадцатеричным номером, N | \xN
Пример:
sprintf('\x5A') возвращает 'Z' |
Символ, числовое значение Unicode которого может быть представлено восьмеричным числом, N | \N
Пример:
sprintf('\132') возвращает 'Z' |
Известное поведение преобразований с операторами форматирования
Числовые преобразования распечатывают только действительный компонент комплексных чисел.
Если вы задаете преобразование, которое не соответствует данным, таким как текстовое преобразование для числового значения, MATLAB® заменяет заданное преобразование и использует %e.
Примеры
преобразует pi к 3.141593e+00.
Если вы применяете текстовое преобразование (любой %c или %s) к целочисленным значениям MATLAB преобразует значения, которые соответствуют кодам допустимого символа к символам.
Примеры
преобразует [65 66 67] к ABC.