Format numérique
Lorsqu’un texte est analysé comme tout type de données numériques ou que tout type de données numériques doit être formaté en un texte, le modèle de format doit être spécifié.
L’analyse syntaxique et le formatage sont sensibles à la locale.
Dans CloudConnect, le format décimal Java est utilisé.
Tableau 28.8. Modèle de format numérique Syntaxe
Symbole | Localisation | Localisé ? | Signification |
---|---|---|---|
# | Nombre | Oui | Chiffre, zéro apparaît comme absent |
0 | Numéro | Oui | Chiffre |
. | Nombre | Oui | Séparateur décimal ou séparateur décimal monétaire |
– | Nombre | Oui | Signe négatif |
, | Nombre | Oui | Séparateur de groupement |
E | Nombre | Oui | Sépare la mantisse et l’exposant en notation scientifique. N’a pas besoin d’être cité en préfixe ou en suffixe. |
; | Limite de sous-modèle | Oui | Séparer les sous-modèles positifs et négatifs |
% | Préfixe ou suffixe | Oui | Multiplier par 100 et afficher en pourcentage |
‰ (\u2030) | Préfixe ou suffixe | Oui | Multiplier par 1000 et afficher en valeur par mille |
¤ (\u00A4) | Préfixe ou suffixe | Non | Signe monétaire, remplacé par le symbole de la monnaie. S’il est doublé, remplacé par le symbole monétaire international. S’il est présent dans un motif, le séparateur décimal monétaire est utilisé à la place du séparateur décimal. |
‘ | Préfixe ou suffixe | Non | Utilisé pour citer les caractères spéciaux dans un préfixe ou un suffixe, par exemple, « ‘#’# » formate 123 en « #123 ». Pour créer un guillemet simple lui-même, utilisez-en deux à la suite : « # o »clock ». |
-
Préfixe et suffixe sont tous deux des caractères Unicode de \u0000 à \uFFFD, marges comprises, mais à l’exclusion des caractères spéciaux.
Le modèle de format compose des sous-modèles, des préfixes, des suffixes, etc. de la manière indiquée dans le tableau suivant :
L’explication de ces symboles suit :
Tableau 28.10. Notation utilisée
Notation | Description |
---|---|
X* | 0 ou plus instances de X |
(X | Y) | soit X, soit Y |
X..Y | tout caractère de X jusqu’à Y, inclus |
S – T | caractères de S, sauf ceux de T |
{X} | X est optionnel |
Rappelle-toi aussi que le formatage est sensible à la locale. Voir le tableau suivant dans lequel les résultats sont différents pour différentes locales:
Tableau 28.11. Formatage sensible à la locale
Pattern | Locale | Résultat |
---|---|---|
####,###.### | en.US | 123,456.789 |
###,###.### | de.DE | 123.456,789 |
###,###.### | fr.FR | 123 456,789 |
Pour approfondir la manipulation des nombres, consultez la documentation officielle de Java.
Notation scientifique
Les nombres en notation scientifique sont exprimés comme le produit d’une mantisse et d’une puissance de dix.
Par exemple, 1234
peut être exprimé comme 1.234 x 103
.
La mantisse est souvent dans la plage 1.0 <= x < 10.0
, mais elle n’a pas besoin de l’être.
Les types de données numériques peuvent recevoir l’instruction de formater et d’analyser la notation scientifique uniquement via un motif. Dans un motif, le caractère exposant immédiatement suivi d’un ou plusieurs caractères numériques indique la notation scientifique.
Exemple : « 0.###E0 » formate le nombre 1234 sous la forme « 1.234E3 ».
Des exemples de motif numérique et de résultats suivent:
Legende:
1) : Le nombre maximal de chiffres entiers est de 3, le nombre minimal de chiffres entiers est de 1, le maximum est supérieur au minimum, donc l’exposant sera un multiplicateur de trois (nombre maximal de chiffres entiers) dans chacun des cas.
2) : Le nombre maximal de chiffres entiers est de 2, le nombre minimal de chiffres entiers est de 1, le maximum est supérieur au minimum, donc l’exposant sera un multiplicateur de deux (nombre maximal de chiffres entiers) dans chacun des cas.
3) : Le nombre maximal de chiffres entiers est de 2, le nombre minimal de chiffres entiers est de 2, le maximum est égal au minimum, le nombre minimal de chiffres entiers sera obtenu en ajustant l’exposant.
4) : Le nombre maximum de chiffres entiers est de 3, le nombre maximum de chiffres de fraction est de 2, le nombre de chiffres significatifs est la somme du nombre maximum de chiffres entiers et du nombre maximum de chiffres de fraction, ainsi, le nombre de chiffres significatifs est comme indiqué (5 chiffres).
Formats binaires
Le tableau ci-dessous présente une liste des formats disponibles:
Tableau 28.13. Formats binaires disponibles
Type | Nom | Format | Longueur |
---|---|---|---|
entier | BIG_ENDIAN |
complément à deux, big-endian | variable |
LITTLE_ENDIAN |
complément à deux, petit-endian | ||
PACKED_DECIMAL |
décimal emballé | ||
point flottant | DOUBLE_BIG_ENDIAN |
IEEE 754, big-endian | 8 octets |
DOUBLE_LITTLE_ENDIAN |
IEEE 754, little-endian | ||
FLOAT_BIG_ENDIAN |
IEEE 754, big-endian | 4 octets | |
FLOAT_LITTLE_ENDIAN |
IEEE 754, little-endian |
Les formats à virgule flottante peuvent être utilisés avec les types de donnéesnumeric
et decimal
.Les formats entiers peuvent être utilisés avec les types de données integer
etlong
. L’exception à la règle est le type de donnéesdecimal
, qui supporte également les formats entiers (BIG_ENDIAN
,LITTLE_ENDIAN
etPACKED_DECIMAL
). Lorsqu’un format entier est utilisé avec le type de données decimal
, le point décimal implicite est défini en fonction de l’attribut Scale. Par exemple, si la valeur stockée est 123456789 et queScale est défini sur 3, la valeur du champ sera123456.789.
Pour utiliser un format binaire, créez un champ de métadonnées avec l’un des types de données pris en charge et définissez l’attribut Format sur le nom du format préfixé par "BINARY:"
,par ex. pour utiliser le format PACKED_DECIMAL
, créez un champ décimal et définissez son Format à"BINARY:PACKED_DECIMAL"
en le choisissant dans la liste des formats disponibles.
Pour les formats de longueur fixe (double et flottant), l’attributSize doit également être défini en conséquence.
À l’heure actuelle, les formats de données binaires ne peuvent être traités que par ComplexDataReader et le FixLenDataReader déprécié.