:::(Info)Following Release 306, Tulip is changing the way numbers are stored in Tables and Completion Records to support capturing, storing, and displaying trailing zeros.
:::
Le type de données « Nombre » correspond à un nombre réel (par exemple : 53, 700, 506,2, 7,645). La précision numérique de Tulip permet aux nombres de comporter des zéros à la fin (par exemple : 1,90 ; 7,300 ; 36,850 ; 419,38910).
Détails sur la précision numérique
Les données saisies dans le champ « Nombre » conservent les zéros non significatifs. Les données saisies via les « Inputs » de type « Nombre » conservent les zéros non significatifs lors du stockage et de l’affichage dans l’ensemble de l’écosystème Tulip, jusqu’à 20 chiffres après la virgule. Les saisies de plus de 20 chiffres seront arrondies au 20e de chiffre le plus proche. Les données des tables sont stockées dans un nouveau type de données précis appelé « Postgres Decimal », au lieu des nombres à virgule flottante.
Les données des enregistrements de table affichent tous les chiffres après la virgule. Les tables affichent tous les chiffres après la virgule avec des points de suspension à la largeur de la colonne. L’ancienne limitation de l’interface utilisateur n’affichait que les 3 premiers chiffres dans la vue en grille. Pour afficher tous les chiffres après la virgule, cliquez sur l’enregistrement de la table.
Les champs de saisie numériques et les expressions permettent de contrôler le nombre de décimales souhaité. Les développeurs d’applications peuvent spécifier et imposer le nombre de décimales lors de la saisie et des calculs via : * Une règle de validation pour les champs de saisie numériques permettant de définir le nombre exact de décimales.

- Des expressions permettant de gérer les décimales des entrées externes (c'est-à-dire les connecteurs, les appareils, les machines, les widgets personnalisés) et d'effectuer des calculs mathématiques. Ces expressions incluent ROUND() et GETDECIMALPLACES().
- Une nouvelle expression, TOPLAINTEXT(), génère des décimales avec une précision maximale.
Pour en savoir plus sur ces expressions, consultez la section ci-dessous : Expressions permettant de gérer la précision.
Limites et comportement en cas de dépassement des limites
Valeur maximale : JS MAX SAFE INT* Il s’agit de la valeur maximale standard pour les données numériques en JavaScript * Gestion des valeurs hors limites par l’API Tulip Tables : les données entrantes supérieures à cette valeur déclencheront une erreur et ne seront pas stockées.
Nombre maximal de chiffres après la virgule : 20* Ce nombre est supérieur au nombre de chiffres des nombres à virgule flottante (auparavant, Tulip prenait en charge 15 chiffres) et couvre tous les cas d’utilisation connus.* Gestion des valeurs hors limites par l’API Tulip Tables : les données entrantes comportant plus de 20 chiffres seront arrondies au 20e chiffre le plus proche
Comment la précision numérique s’applique-t-elle aux autres fonctionnalités de Tulip ?
Les données d’entrée comportant des zéros non significatifs ne s’appliquent qu’aux champs de saisie de type « Nombre » dans les applications. Les autres flux de données dans Tulip gèrent la précision numérique différemment :
Données externes
Les données provenant des connecteurs, des machines, des appareils et des widgets personnalisés sont toujours transmises sous forme de chaînes de caractères ou de nombres à virgule flottante, en fonction du type de données fourni par la source. Les données numériques sont converties en nombres décimaux Postgres lors de leur stockage dans les tables Tulip et les enregistrements de complétion.
Automatisations
Les Automation prendront en charge les zéros non significatifs dans le courant de l’année 2025. Actuellement, les automatisations effectuant des calculs ne conservent pas les zéros non significatifs.
Expressions permettant de gérer la précision
Les développeurs d’applications peuvent gérer le nombre de chiffres lors du stockage de nombres dans Tulip à l’aide de l’expression suivante.
ROUND()
Utilisez ROUND() pour spécifier le nombre de décimales souhaité et ajouter des zéros à la fin avant de stocker la valeur.:::(Internal) (Private notes)
insert screenshot of example expression]
:::
Les développeurs d’applications peuvent gérer le nombre de chiffres lors des calculs mathématiques, y compris les moyennes et les sommes, à l’aide des expressions suivantes.
GETDECIMALPLACES() et ROUND()
Utilisez GETDECIMALPLACES() et/ou ROUND() pour gérer le nombre de décimales des résultats de calcul.
TOPLAINTEXT()
Utilisez TOPLAINTEXT() à la place de TOTEXT() pour afficher la précision décimale complète d’une valeur numérique, y compris les zéros non significatifs. En effet, TOTEXT() conserve une implémentation rétrocompatible qui affiche les décimales précises sous forme de nombres JavaScript (c’est-à-dire des nombres à virgule flottante) avec une précision maximale de 16 chiffres.
Détails techniques
- Dans le cadre de ce comportement, les tables et les complétions Tulip sont passées des « nombres à virgule flottante » aux nombres décimaux Postgres précis, qui sont configurés pour stocker jusqu’à 20 chiffres après la virgule.
- Les données numériques entrantes provenant de toutes les sources (c’est-à-dire les applications, l’API des tables Tulip, les connecteurs, etc.) sont stockées dans les tables Tulip sous forme de nombres décimaux Postgres et seront arrondies à un maximum de 20 chiffres lors du stockage.
Données historiques
Les données collectées avant la version 306 ont été entièrement conservées, leurs valeurs numériques restant inchangées. Toutes les nouvelles données entrantes sont arrondies à 20 chiffres après la virgule.
Modifications mineures
Il existe quelques modifications et mises en garde concernant des cas particuliers dans la manière dont les nombres sont gérés dans les applications après le déploiement de la précision des nombres, en raison des différences entre les nombres décimaux et les nombres à virgule flottante :
- Expressions : les valeurs JavaScript NaN et Infinity n’existent pas dans les nombres décimaux précis; par conséquent, les expressions généreront désormais une erreur en cas d’erreur mathématique (par exemple, lors du calcul de la racine carrée d’un nombre négatif ou d’une division par 0). a. Cela signifie que les développeurs d’applications devront peut-être mettre à jour toute logique de cas particulier fonctionnant avec les valeurs JS NaN et Infinity. Ces valeurs ne sont pas prises en charge par l’interface, et nous déconseillons de les utiliser pour gérer les cas mathématiques limites dans vos applications.
- Déclencheurs : la fonction « Afficher un message » utilise désormais des guillemets pour encadrer les nombres a. Cela signifie que vous pourrez désormais afficher les zéros finaux dans « Afficher un message ».
- Tableaux : les exportations CSV affichent désormais les nombres complets (supérieurs à 1e6) – auparavant, le fichier CSV utilisait la notation exponentielle pour les grands nombres (supérieurs à 1e6). a. Cela signifie que vos administrateurs devront peut-être mettre à jour les scripts de traitement des fichiers CSV afin de supprimer les cas particuliers liés au traitement des nombres exponentiels, s’il y en avait.
- Expressions : TOTEXT et représentation des nombres – Si vous devez conserver les zéros non significatifs dans la représentation textuelle, utilisez la nouvelle expression TOPLAINTEXT(), qui place les nombres entre guillemets pour conserver les zéros non significatifs.a. Expressions : TOTEXT() ne place pas les nombres entre guillemets et ne conserve donc pas les zéros non significatifs. Utilisez plutôt la nouvelle fonction TOPLAINTEXT() pour afficher le nombre complet avec ses zéros de fin, entre guillemets.b. Nous introduisons TOPLAINTEXT() en tant que nouvelle expression afin de garantir la compatibilité ascendante pour les applications qui utilisaient peut-être l’expression TOTEXT().
Si vous avez des questions concernant la précision des nombres, contactez votre responsable de la réussite client Tulip ou postez un message dans le fil de discussion de la communauté.
Formatage des nombres et langue
Le formatage des nombres varie selon les pays, notamment en ce qui concerne les séparateurs. Par exemple, certains pays (États-Unis, Mexique, Chine) utilisent un point (.) comme séparateur décimal et une virgule (,) comme séparateur de milliers. D’autres pays (par exemple en Europe) utilisent une virgule (,) comme séparateur décimal.
Dans Tulip, ces formats numériques sont importants dans les contextes suivants : 1. Lors de l’affichage d’un nombre à un utilisateur de Tulip, le format garantit que les utilisateurs comprennent la valeur correcte. 2. Lors de l’analyse d’une saisie effectuée par un utilisateur, le format garantit que la valeur correcte est enregistrée dans les données de Tulip.
Le format des nombres est déterminé par la langue de l’utilisateur actuel, telle que définie dans ses paramètres personnels. Si l’utilisateur n’a pas choisi de langue spécifique, Tulip déduira la langue en fonction des paramètres du navigateur.
Découvrez comment définir vos préférences linguistiques.
Note that there is no default instance-level or workspace-level language setting.
Format des nombres par défaut à partir de la version r360
Au sein d’une même langue, il peut exister des différences dans le format des nombres utilisé selon les zones géographiques. Pour comprendre ce comportement, veuillez noter les points suivants concernant la langue de votre choix :
Les langues suivantes utilisent par défaut une virgule ( , ) comme séparateur décimal :* bulgare* tchèque* danois* néerlandais* estonien* finnois* français* allemand* grec* hongrois* indonésien* italien* letton* lituanien* norvégien* polonais* portugais* roumain* russe* slovaque* slovène* espagnol* suédois* turc* ukrainien* vietnamien
Pour modifier ce comportement, contactez votre administrateur système ou Tulip Support.
{{snippet.Avez-vous trouvé ce que vous cherchiez ?}}


