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
- disp
- print
- clean
- C-подобный формат
- mprintf
- msprintf
- mfprintf

## История

6.0 Для широкого format(), символы, которые могут быть отображены ниже относительной точности %eps, теперь устанавливаются в 0.