У меня есть эта проблема, которая меня беспокоила довольно долго. Я хочу изменить формат номера. Не знаете, как? Ive пытался файлы справки, но не могу найти ответ .. Если вы можете помочь мне, пожалуйста ..Как я могу перейти от 1.4795e + 004 до 14795,00?
ответ
Использование командной format команду
продукта примера:
format long; pi
3.141592653589793
format short e; pi
3.1416e+000
format short g; pi
3.1416
Существуют три различных вещи, о которых вы могли бы иметь в виду, когда говорите о «формате» числа: формат отображения, формат хранения в памяти (т. е. тип данных/класс) и формат хранения в файле данных. Я обращусь каждый ...
Формат дисплея: Как уже упомянуто Amro, формат дисплея можно регулировать с помощью команды FORMAT. Однако это влияет только на то, как отображаются цифры , а не как они сохранены в памяти.
Переменные типов/классов: Есть целый ряд numeric classes, как с плавающей точкой и подписаны/неподписанные целые типы, что переменные можно использовать. По умолчанию переменные MATLAB хранятся в виде чисел с плавающей запятой с двойной точностью. Чтобы преобразовать в другие типы, вы можете использовать тип переменной как функцию для изменения значения. Например,
a = uint8(0);
преобразует0
в 8-разрядный целочисленный тип без знака и сохраняет его вa
, аb = single(pi);
преобразует значениеpi
в одноточную и сохраняет его вb
.Формат хранения файлов: При чтении/записи числовых значений в файлах тип файла влияет на его сохранение. Двоичный файл (записанный и считываемый с использованием FWRITE и FREAD) хранит полное двоичное представление числа и может, таким образом, представлять его как точно такой же тип, как он хранится в памяти в виде переменной (с двойной точностью, с одной точностью , 8-битовое целое и т. Д.).
В качестве альтернативы текстовый файл (записанный и используемый с использованием FPRINTF и FSCANF, среди других функций) сохранит значение в строчном формате, который вы должны указать при выводе значений в файл. Вы можете указать цифры точности, а также формат (например, экспоненциальную нотацию или шестнадцатеричную). В документации для FPRINTF указаны эти выходные форматы.
sprintf('%.2f', 1.4795e4);
(в частности: если вы хотите отображаются/сохранить/печататься определенным образом, быть явно об этом!)
сколько формата фикция крышка .. если у меня есть ряд функций, которые работают друг с другом. Должен ли я использовать его для каждой функции? – franciso
Прочтите раздел «примечания» по указанной ссылке. – Artelius
«Функция формата влияет только на отображение чисел, а не на то, как MATLAB вычисляет или сохраняет их». Как я могу изменить, как он их сэкономит? это возможно? – franciso