2009-09-26 1 views
4

У меня есть эта проблема, которая меня беспокоила довольно долго. Я хочу изменить формат номера. Не знаете, как? Ive пытался файлы справки, но не могу найти ответ .. Если вы можете помочь мне, пожалуйста ..Как я могу перейти от 1.4795e + 004 до 14795,00?

ответ

6

Использование командной format команду

продукта примера:

format long; pi 
    3.141592653589793 
format short e; pi 
    3.1416e+000 
format short g; pi 
    3.1416 
+0

сколько формата фикция крышка .. если у меня есть ряд функций, которые работают друг с другом. Должен ли я использовать его для каждой функции? – franciso

+0

Прочтите раздел «примечания» по указанной ссылке. – Artelius

+0

«Функция формата влияет только на отображение чисел, а не на то, как MATLAB вычисляет или сохраняет их». Как я могу изменить, как он их сэкономит? это возможно? – franciso

8

Существуют три различных вещи, о которых вы могли бы иметь в виду, когда говорите о «формате» числа: формат отображения, формат хранения в памяти (т. е. тип данных/класс) и формат хранения в файле данных. Я обращусь каждый ...

  • Формат дисплея: Как уже упомянуто Amro, формат дисплея можно регулировать с помощью команды FORMAT. Однако это влияет только на то, как отображаются цифры , а не как они сохранены в памяти.

  • Переменные типов/классов: Есть целый ряд numeric classes, как с плавающей точкой и подписаны/неподписанные целые типы, что переменные можно использовать. По умолчанию переменные MATLAB хранятся в виде чисел с плавающей запятой с двойной точностью. Чтобы преобразовать в другие типы, вы можете использовать тип переменной как функцию для изменения значения. Например, a = uint8(0); преобразует 0 в 8-разрядный целочисленный тип без знака и сохраняет его в a, а b = single(pi); преобразует значение pi в одноточную и сохраняет его в b.

  • Формат хранения файлов: При чтении/записи числовых значений в файлах тип файла влияет на его сохранение. Двоичный файл (записанный и считываемый с использованием FWRITE и FREAD) хранит полное двоичное представление числа и может, таким образом, представлять его как точно такой же тип, как он хранится в памяти в виде переменной (с двойной точностью, с одной точностью , 8-битовое целое и т. Д.).

    В качестве альтернативы текстовый файл (записанный и используемый с использованием FPRINTF и FSCANF, среди других функций) сохранит значение в строчном формате, который вы должны указать при выводе значений в файл. Вы можете указать цифры точности, а также формат (например, экспоненциальную нотацию или шестнадцатеричную). В документации для FPRINTF указаны эти выходные форматы.

0
sprintf('%.2f', 1.4795e4); 

(в частности: если вы хотите отображаются/сохранить/печататься определенным образом, быть явно об этом!)