format-number
Convertit un nombre en un string et le formate conformément aux options spécifiées.
Langages
Built-in, C++, C#, Java, XSLT 1.0, XSLT 2.0, XSLT 3.0.
Paramètres
Argument | Description |
---|---|
value | Argument obligatoire. Fournit le nombre à formater. |
format | Argument obligatoire. Fournit un string de format qui identifie la manière avec laquelle le nombre doit être formaté. Voir "Remarques" ci-dessous. |
decimal-point-format | Argument optionnel. Fournit le caractère à utiliser en tant que le caractère de point décimal. La valeur par défaut est le caractère de point final ( . ). |
grouping-separator | Argument optionnel. Fournit le caractère utilisé pour séparer des groupes de nombres. La valeur par défaut est le caractère de virgule ( , ). |
Note : | Si la sortie de la fonction (résultat) est connectée à un item de type différent d’un string, le formatage peut être perdu lorsque la valeur est amenée vers le type de cible. Pour désactiver ce cast automatique, supprimer les cases à cocher Valeurs cibles cast vers les types de cible dans les Paramètres de composant du composant cible. |
Remarques
L’argument format prend la forme suivante :
format := subformat (;subformat)? subformat := (prefix)? integer (.fraction)? (suffix)? prefix := any characters except special characters suffix := any characters except special characters integer := (#)* (0)* ( allowing ',' to appear) fraction := (0)* (#)* (allowing ',' to appear) |
Le premier subformat est utilisé pour formater des nombres positifs, et le second subformat pour des nombres négatifs. Si un seul subformat est spécifié, alors le même sous-format sera utilisé pour des nombres négatifs, mais avec un signe négatif rajouté avant le prefix.
Caractère spécial | Défaut | echo Hello, World! |
---|---|---|
zero-digit | 0 | Un nombre apparaîtra toujours à cet endroit du résultat |
digit | # | Un nombre apparaîtra à cet endroit du string de résultat à moins qu’il s’agisse d’un zéro de début ou de fin redondant |
decimal-point | . | Sépare l’entier et la partie fractionnelle du nombre |
grouping-separator | , | Sépare des groupes de chiffres. |
percent-sign | % | Multiplie le nombre par 100 et le montre en tant que pourcentage. |
per-mille | ‰ | Multiplie le nombre par 1000 et le montre en tant que pourmille. |
La table ci-dessous illustrate des exemples des strings de format et leur résultat.
Note: | La méthode d’arrondissement utilisée par la fonction format-number est "half up", ce qui signifie que la valeur est arrondie si la fraction est supérieure ou égale à 0.5 La valeur est arrondie vers le bas si la fraction est inférieure à 0.5. Cette méthode d’arrondissement s’applique uniquement au code de programme généré et le moteur d’exécution Built-In. Dans XSLT 1.0, le mode d’arrondissement est non-défini. Dans XSLT 2.0, le mode d’arrondissement est "round-half-to-even". |
Numéro | String de Format | Résultat |
---|---|---|
1234,5 | #,##0.00 | 1 234,50 |
123,456 | #,##0.00 | 123,46 |
1000000 | #,##0.00 | 1 000 000,00 |
-59 | #,##0.00 | -59,00 |
1234 | ###0.0### | 1234,0 |
1234,5 | ###0.0### | 1234,5 |
.00025 | ###0.0### | 0,0003 |
.00035 | ###0.0### | 0,0004 |
0,25 | #00% | 25% |
0,736 | #00% | 74% |
1 | #00% | 100% |
-42 | #00% | -4200% |
-3,12 | #.00;(#.00) | (3.12) |
-3,12 | #.00;#.00CR | 3.12CR |
Exemple
Le mappage illustré ci-dessous lit des données provenant d’un XML de source et l’écrit dans un XML cible. Il existe plusieurs éléments SinglePrice dans la source qui contient les valeurs décimales suivantes : 25, 2.30, 34, 57.50. Le mappage a deux objectifs :
1.Remplir toutes les valeurs avec des zéros à gauche de manière à ce que la partie importante prenne exactement 5 chiffres
2.Remplir toutes les valeurs avec des zéros à droite de manière à ce que la partie importante prenne exactement 2 chiffres
Pour ce faire, le string de format 00000.00 a été fourni en tant qu’argument à la fonction format-number.
PreserveFormatting.mfd
Par conséquent, les valeurs dans la cible sont devenues :
00025,00
00002,30
00034,00
00057,50
Vous pouvez trouver le fichier de design de mappage sous le chemin suivant: <Documents>\Altova\MapForce2025\MapForceExamples\PreserveFormatting.mfd.