Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
See the recommended documentation of this function
format
configure le format par défaut d'affichage des nombres décimaux
Syntaxe
format(mode) format(width) format(mode, width) format(wm) mw = format()
Paramètres
- mode
Type d'affichage :
- 1 or "v": format variable auto-adaptatif (automatique) : pour chaque nombre décimal ou complexe à afficher, Scilab choisit soit la représentation directe (ex: -143.8757), soit le format scientifique avec exposant (ex: -1.438E+02) le plus adapté, permettant d'afficher un maximum de digits de la mantisse.
- 0 or "e": force l'utilisation du format scientifique avec exposant, pour tous les nombres décimaux.
- width
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 fautwidth >= 8
.- wm
vecteur de 2 entiers configurant le format :
wm(1)
est la largeur des nombreswm(2)
est le type du format : 0 pour'e'
et 1 pour'v'
- mw
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.
Description
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.
Exemples
// 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
Voir aussi
- numbers_properties — determine floating-point parameters
- string — conversion en chaîne de caractères
- sci2exp — returns a string able to generate a given Scilab object
- disp — displays variables
- print — prints variables in a file
- clean — nettoie une matrice (arrondi à zéro des termes très petits)
- C-like format — mprintf, msprintf, mfprintf conversion specifications
- mprintf — converts, formats, and writes data to the main scilab window
- msprintf — converts, formats, and writes data in a string
- mfprintf — converts, formats, and writes data to a file
Historique
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. |
Report an issue | ||
<< floor | Virgule flottante | frexp >> |