Формат выходных полей, заданный с помощью операторов форматирования. formatSpec также может включать обычный текст и специальные символы.
Если formatSpec включает литеральный текст, представляющий escape-символы, например, \n, то num2str переводит символы escape.
formatSpec может быть символьным вектором в одиночных кавычках или, начиная с R2016b, строковым скаляром.
Оператор форматирования
Оператор форматирования начинается со знака процента, %, и заканчивается символом преобразования. Требуется символ преобразования. При необходимости можно указать идентификатор, флаги, ширину поля, точность и операторы подтипа между % и символ преобразования. (Пробелы между операторами недопустимы и отображаются здесь только для удобства чтения).
Символ преобразования
В этой таблице показаны символы преобразования для форматирования числовых и символьных данных в виде текста.
| Тип значения | Преобразование | Подробнее |
|---|
Целое число, с подписью | %d или %i
| База 10 |
Целое число, без знака | %u
| База 10 |
%o
| Основание 8 (восьмеричное) |
%x
| База 16 (шестнадцатеричная), строчные буквы a–f |
%X
| То же, что и %x, прописные буквы A–F |
Число с плавающей запятой | %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 |
'#'
| Изменить выбранные числовые преобразования: Для %o, %x, или %XПечать 0, 0x, или 0X префикс. Для %f, %e, или %E, печатать десятичную точку, даже если точность равна 0. Для %g или %G, не удаляйте конечные нули или десятичную точку.
Пример:
%#5.0f |
Ширина поля
Минимальное количество печатаемых символов.
Пример:
'%5d' отпечатки intmax как 2147483647 потому что значение, возвращенное intmax превышает минимальное количество символов для печати.
Если число печатаемых символов меньше ширины поля, то compose панели функций до ширины поля с пробелами перед значением, если флагами не указано иное.
Тем не менее, num2str функция не соответствует ширине поля пробелами.
Точность
Количество цифр для печати.
Для %f, %e, или %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
|
Символ, числовое значение Юникода ® которого может быть представлено шестнадцатеричным числом ,N | \xN
Пример:
sprintf('\x5A') прибыль 'Z' |
Символ, числовое значение Юникода которого может быть представлено восьмеричным числом, N | \N
Пример:
sprintf('\132') прибыль 'Z' |
Заметное поведение преобразований с операторами форматирования
Числовые преобразования печатают только действительную составляющую комплексных чисел.
Если указано преобразование, которое не соответствует данным, например преобразование текста для числового значения, MATLAB ® переопределяет указанное преобразование и использует%e.
Пример:
'%s' новообращенные pi кому 3.141593e+00.
При применении преобразования текста (либо %c или %s) в целочисленные значения, MATLAB преобразует значения, соответствующие допустимым кодам символов, в символы.
Пример:
'%s' новообращенные [65 66 67] кому ABC.