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

Note

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é.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.