Chaînes de format de numéros

Chaînes de format de numéros

Les chaînes de format servent de modèles pour la conversion d'une chaîne en un numéro ou d'un numéro en une chaîne. Les éléments suivants peuvent être combinés dans la chaîne de format fmt et utilisés pour créer une chaîne depuis un nombre NumberToString ou un nombre depuis une chaîne StringToNumber.

Élément Valeur
9 Chaque 9 représente un chiffre significatif à afficher. Les zéros non significatifs sont affichés ou traités comme des vides. Vous devez définir assez de chiffres significatifs pour vos données. Par exemple, si vos données peuvent compter jusqu'à cinq chiffres, alors la chaîne de format doit avoir au moins cinq chiffres significatifs.
0 Chaque 0 représente un chiffre significatif. Les zéros non significatifs sont affichés ou traités comme des zéros.
$ Préfixe : place un $ (symbole de dollar) devant le nombre. Consultez l'élément L pour les autres symboles de devise.
, (virgule) Représente une virgule dans la chaîne numérique. La virgule est toujours interprétée en tant que séparateur de groupe. Voir l'élément G pour les autres séparateurs de groupe.
. (point) Représente un point décimal dans la chaîne numérique. Voir l'élément D pour d'autres caractères de séparation des décimales.
MI Suffixe : place un signe moins après le numéro s'il est négatif ou un espace s'il est positif.
S Préfixe ou suffixe : place un signe plus (+) devant un nombre positif et un signe moins (-) devant un nombre négatif.
D Définit l'emplacement du séparateur des décimales. Tous les éléments de format à gauche de D définiront le format de la partie entière de la valeur. Tous les éléments de format à droite de D définiront le format de la partie décimale de la valeur. La définition du caractère utilisé pour représenter le séparateur des décimales dépend de la plateforme. Pour MapInfo.NET, la valeur sera déterminée par le paramètre Culture du thread actuel. Pour Spatialware ou Envinsa, elle sera déterminée par la base de données (plus que probablement un paramètre d'initialisation).
G Indique l'emplacement du séparateur de groupe (par exemple, la virgule pour séparer les milliers des centaines dans 6,234). À l'instar du caractère de séparation des décimale D, le caractère utilisé pour séparer les groupes dépend de la plateforme.
L Indique l'emplacement du symbole de la devise locale (par exemple, $). À l'instar du caractère de séparation des décimale D, le caractère utilisé pour séparer les groupes dépend de la plateforme.

E

E-

E+

Indique que le nombre est en notation scientifique. Les occurrences de 9 ou 0 après l'élément E sont interprétées comme des caractères du format exposant. Aucune occurrence de point décimal ou de séparateur de groupe ne peut apparaître après l'élément E. L'élément E peut être directement suivi d'un signe plus (+) ou moins (-). Si vous définissez explicitement un signe (+) ou un signe (-) après l'élément E, un exposant positif reprendra spécialement le signe plus (+) et un exposant négatif affichera un signe (-). Si aucun signe n'est défini après l'élément E et si l'exposant est négatif, le signe moins sera affiché dans la première position après l'élément E. Donc, le nombre d'éléments 9 ou 0 qui suivent l'élément E doit être suffisamment grand pour accepter un signe moins si l'exposant va être négatif (au risque de provoquer un débordement).

Exemples d'utilisation de chaînes de format de nombres

Les exemples suivants illustrent l'utilisation des éléments de format de nombre pour mettre en forme un nombre ou analyser une chaîne. Les résultats sont indiqués entre guillemets pour indiquer la présence d'espaces vides dans le résultat - les guillemets eux-mêmes ne font pas partie du résultat.


  NumberToString(123.4567, '999999.99')     : '   123.46'
  NumberToString(123.4567, '099999.99')     : '000123.46'
  NumberToString(1234567, '99,999,999')     : ' 1,234,567'
  NumberToString(1234567, '9,999,999,999')  : '    1,234,567'
  NumberToString(1234567, '0,999,999,999')  : '0,001,234,567'
  NumberToString(123.4567, '0.9999E99')     : '1.2346E 2'
  NumberToString(123.4567, '0.9999E09')     : '1.2346E02'
  NumberToString(123.4567, '0.9999E+09')    : '1.2346E+02'
  NumberToString(12.345, '9.99')            : '#.##'
  StringToNumber('123456', '99999')         : Error
  StringToNumber(' 123.456', '9999.999')    : 123.456
  StringToNumber(' 123.456-', '9999.999')   : Error
  StringToNumber(' 123.456-', '9999.999MI') : -123.456
  StringToNumber('1,234.56', '999,999.99')  : 1234.56
  StringToNumber('1,234.56', '999,999.9')   : 1234.5