format
установка выходного формата десятичных чисел по умолчанию
Синтаксис
format(mode) format(width) format(width, mode) format(wm) mw = format()
Аргументы
- mode
режим форматирования:
- 1 или "v": форматирование адаптированное к переменной. Scilab выбирает либо прямое представление (например -143.8757) либо экспоненциальную/инженерную/научную запись (например -1.438E+02), для того, чтобы справиться с каждым обрабатываемым значением, а также с требуемой шириной, с максимальным количеством символов на выходе.
- 0 или "e": Устанавливается экспоненциальная или инженерная запись и используется для всех чисел.
- width
ширина чесел равна количеству используемых символов на выходе, сюда включается всё: знак мантиссы, её цифры, десятичный разделить, символ экспоненты, знак и цифры экспоненты. По умолчанию
width
равно 10. Минимальная ширина в режимеe
равна 8.- wm
вектор для установки нового формата
wm(1)
это ширинаwm(2)
это режим форматирования: 0 для'e'
и 1 для'v'
- mw
вектор, возвращающий параметры текущего форматирования:
mw(1)
это режим форматирования: 0 для'e'
и 1 для'v'
mw(2)
это ширина: Количество символов, используемых для выдачи каждого числа.
Описание
Для комплексных чисел вещественная и мнимые десятичные части выдаются в
соответствии с format(..) . Общая ширина комплексного
числа, следовательно, грубо говоря в два раза больше
(плюс один символ для обозначения мнимой единицы "i"). |
Кодированные целые числа никогда не выдаются в экспоненциальном режиме,
даже когда это форматирование является режимом по умолчанию, установленным
для десятичных чисел. Для них десятичный разделитель "." пропущен. Это
позволяет отличить их от десятичных целых чисел, которые имеют точку. |
Для широкого формата, символы, которые могут быть отображены ниже относительной точности
%eps , установлены в 0. |
Установка формата десятичных чисел по умолчанию с помощью format(..)
является глобальным параметром: где бы вы его ни установили, он будет
потом применяться везде в Scilab и Xcos. |
В старых версиях Scilab в режиме "формат переменной", вектор, элементы которого
меньше, чем в %eps
раз максимального абсолютного значения
элементов, отображались как "0". Теперь функцию clean
не
нужно использовать для установки ничтожно малых элементов в ноль.
Примеры
// format() не принимается в расчёт для кодированных целых чисел // ------------------------------------------------------------- format("e",8) int32(2.^grand(3,5,"uin",0,30)) // format() влияет на вывод в командном окне disp(), string(), sci2exp(),... // ------------------------------------------------------------------------- a = %pi; p = %pi + %z - %e*%z^2; format("v",10); a, p disp(a,p) string(a), string(p) [sci2exp(a) sci2exp(p)] format("e",15); a, p disp(a,p) string(a), string(p) [sci2exp(a) sci2exp(p)] format("v",10); // сброс // format() устанавливает ширину, не фиксированное количество символов: // -------------------------------------------------------------------- format("v",10) %pi*1e-217, s = string(%pi*1e-217) length(s) // отсутствующим символом является явный знак "+" // Это полезно для получения выравненного и полностью информативного отображения матриц [ -1.234 %pi*1e-10 %nan ; %e*1e137 -%inf 54312] // Начиная с Scilab 6.0, не имеющие значения символы, отображаемые широким format(), устанавливаются в 0: format(22) %pi // format() имеет глобальное влияние // ---------------------------- function myfun() format("e",20) endfunction format("v", 10) disp(%pi) myfun() // он остаётся везде, где бы ни был установлен: disp(%pi) format("v",10) // сброс
See also
- свойства чисел — определение параметров чисел с плавающей запятой
- string — преобразование в строку
- sci2exp — returns a string able to generate a given Scilab object
- disp — displays variables
- print — prints variables in a file
- clean — очищает матрицы (округление малых значений до нуля)
- C-подобный формат — mprintf, msprintf, mfprintf C-format specifications
- mprintf — converts, formats, and writes data to the main scilab window
- msprintf — converts, formats, and writes data in a string
- mfprintf — преобразует, форматирует и записывает данные в файл
История
Версия | Описание |
6.0 | Для широкого format(), символы, которые могут быть отображены ниже относительной точности %eps, теперь устанавливаются в 0. |
Report an issue | ||
<< floor | Плавающая запятая | ieee >> |