установка выходного формата десятичных чисел по умолчанию
format(mode) format(width) format(width, mode) format(wm) mw = format()
режим форматирования:
ширина чесел равна количеству используемых символов на выходе,
сюда включается всё: знак мантиссы, её цифры, десятичный разделить, символ
экспоненты, знак и цифры экспоненты. По умолчанию width
равно 10.
Минимальная ширина в режиме e
равна 8.
вектор для установки нового формата
wm(1)
это ширина
wm(2)
это режим форматирования: 0 для
'e'
и 1 для 'v'
вектор, возвращающий параметры текущего форматирования:
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) // сброс | ![]() | ![]() |
Version | Description |
6.0 | Для широкого format(), символы, которые могут быть отображены ниже относительной точности %eps, теперь устанавливаются в 0. |