#1 Tue 30 March 2021 12:24
- athagliat
- Participant actif
- Date d'inscription: 26 Apr 2011
- Messages: 98
Separateur de milliers
Bonjour, y a-t-il un moyen dans FME de mettre un séparateur de milliers à un nombre qui ne sera pas directement écrit dans un attribut mais intégré dans un texte (c'est le texte qui sera par la suite rangé dans un attribut).
Ex : on part d'un champ avec valeur "1347" et on obtient en sortie via un StringConcatenator par exemple "1 347 résidences principales"
Je vous remercie par avance.
Hors ligne
#2 Tue 30 March 2021 16:55
- Hydrolithe
- Participant assidu
- Lieu: Lyon
- Date d'inscription: 21 Apr 2010
- Messages: 223
Re: Separateur de milliers
Bonjour,
Vous pouvez générer le nombre avec le séparateur de milliers via un StringReplacer avec les paramètres suivants :
- choisir l'attribut qui contient les données
- méthode = expression régulière à rechercher
- sensibilité à la casse = oui
- texte à rechercher =
Code:
([0-9])(?=([0-9]{3})+$)
- texte de remplacement = \1 (attention il faut mettre un "espace" après le 1)
Vous obtenez un champ avec le séparateur de milliers pour chaque nombre que vous pouvez ensuite utiliser dans un StringConcatenator.
Source : https://community.safe.com/s/question/0 … ith-commas
Pierre
Dernière modification par Hydrolithe (Tue 30 March 2021 16:56)
Hors ligne
#3 Fri 02 April 2021 09:55
- athagliat
- Participant actif
- Date d'inscription: 26 Apr 2011
- Messages: 98
Re: Separateur de milliers
Ma foi, je ne pas comprends pas un traître mot de cette expression régulière mais ça marche très bien. Merci beaucoup à vous
Hors ligne
#4 Fri 02 April 2021 22:19
- Benoit D
- Participant assidu
- Date d'inscription: 17 Jul 2018
- Messages: 151
Re: Separateur de milliers
Voici de quoi comprendre un peu mieux : https://regex101.com/
Indiquez la formule vous obtenez l’explication.
L’astuce ici consiste à utiliser le code \1 pour renvoyer la première parenthèse nommée suivi d’un espace justement pour séparer les milliers.
Dernière modification par Benoit D (Thu 22 April 2021 00:56)
Hors ligne