configure le format par défaut d'affichage des nombres décimaux
format(mode) format(width) format(mode, width) format(wm) mw = format()
Type d'affichage :
largeur des nombres = nombre total de caractères utilisé
pour chaque nombre, tout inclus : signe et digits de la
mantisse, séparateur décimal ("."), symbole de l'exposant
("D", "E"), signe et digits de l'exposant. Par défaut,
width = 10
.
En notation exponentielle (mode "e"), il faut width >= 8
.
vecteur de 2 entiers configurant le format :
wm(1)
est la largeur des nombres
wm(2)
est le type du format :
0 pour 'e'
et 1 pour 'v'
vecteur à 2 nombres retournés comme paramètres du format actif :
mw(1)
représente le type du format :
0 pour 'e'
et 1 pour 'v'
mw(2)
est le nombre de
caractères utilisés pour formater chaque nombre.![]() | Pour les nombres complexes, chaque partie réelle et imaginaire
décimale est formatée selon format(..) .
La largeur totale d'un nombre complexe est par conséquent deux fois
celle spécifiée par format(..) + 1 caractère
(symbole "i"). |
![]() | Les entiers encodés ne sont jamais formatables/formatés selon
la notation "e"xponentielle, même si ce format est forcé pour
les nombres décimaux. Pour eux, le séparateur décimal "." est
inutile et n'apparait pas. Cette absence permet de les distinguer
des entiers décimaux, qui eux présentent un ".". |
![]() | Le choix d'un format() large permet de faire apparaitre des
digits au delà de la précision relative %eps .
Ceux-ci sont alors mis à zéro. |
![]() | Le format décimal fixé avec
format(..) est un paramètre global :
quel que soit le lieu où il est utilisé, il est ensuite appliqué
partout dans Scilab et Xcos. |
Dans les versions anciennes de Scilab, en format automatique "v",
les éléments d'une matrice inférieurs à %eps
fois
la valeur maximum absolue de l'ensemble de ses éléments étaient
formatés à "0". Ce n'est plus le cas : la fonction
clean
peut être utilisée pour fixer les digits
de faible poids à 0.
// format() n'est pas appliqué aux entiers encodés // ----------------------------------------------- format("e",8) int32(2.^grand(3,5,"uin",0,30)) // format() impacte l'affichage en console, 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); // reset // format() configure le nombre de caractères. Le nombre de digits peut varier // ------------------------------------------- format("v",10) %pi*1e-217, s = string(%pi*1e-217) length(s) // le caractère "manquant" est le signe "+" implicit // C'est utile pour afficher des matrices aux colonnes bien alignées et sans blancs [ -1.234 %pi*1e-10 %nan ; %e*1e137 -%inf 54312] // Avec Scilab 6.0, les digits au delà de %eps sont mis à zéro : format(22) %pi // format() a un impact global // --------------------------- function myfun() format("e",20) endfunction format("v", 10) disp(%pi) myfun() // Il agit partout, quel que soit le lieu où il a été utilisé en dernier disp(%pi) format("v",10) // reset | ![]() | ![]() |
Version | Description |
6.0 | Pour les format() (excessivement) longs, les digits affichés au delà de la précision numérique relative %eps apparaissent maintenant comme des zéros. |