Формат выходных полей, заданных операторов форматирования использования. formatSpec
также может включать обычный текст и специальные символы.
Если formatSpec
включает буквенный текст, представляющий символы ESC, такие как \n
, затем num2str
переводит символы ESC.
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
|
Символ, числовое значение 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
.