Azure Logic Apps : Problème de Localisation avec les flottants

Petit article rapide sur un cas particulièrement déroutant rencontré dernièrement lors de l’utilisation d’une Azure Logic App.

Une erreur qui pour un développeur informatique Français est assez régulière… La gestion des « . » ou des « , » pour les nombres flottants (décimaux).

Dans une Azure Logic App, il est possible d’effectuer parmi tant d’autres choses, des opérations mathématiques.

L’opération que je souhaitais utiliser est la multiplication. De manière simple, il suffit de l’utiliser sous le format :

mul(<multiplicand1>, <multiplicand2>)

Dans mon cas d’utilisation, je souhaitais transformer des coordonnées (latitude/longitude) issues d’un format précis

Dans un format plus « humainement » compréhensible

Il faut donc multiplier par 10^6 ces chiffres. Ou faire une multiplication par 0,000001.

Lors de l’exécution de :

mul(float(item().longitude_mdeg),0.000001)
Si mon portail Azure (portal.azure.com) est configuré en français :
Lors de l’enregistrement de la Logic App, l’erreur suivante apparait :
« La validation du modèle a échoué […] ne peut pas être convertie en chiffre »
Ce qui veut dire qu’un parsing est effectué lors de cet enregistrement et que le parseur n’arrive pas à convertir en chiffre.
Si l’on passe notre langue de portail Azure en anglais :
Alors lors de l’enregistrement, plus d’erreur !
Et à l’exécution, je ne rencontre non plus aucune erreur.
Conclusion :
Cela veut dire que le parseur en temps réel lors de l’enregistrement de la Logic App prend en compte la culture actuelle du portail. Et pour éviter tout autre soucis, laisser le portail en Anglais 🙂

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

%d blogueurs aiment cette page :