Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
2023.0.0 - Русский


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 >>

Copyright (c) 2022-2024 (Dassault Systèmes)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Tue Mar 07 09:28:41 CET 2023