Affichage de l'arrondi d'un champ Big Decimal

Bonjour,

Simplicité version4.0 patch level P23 (database patch level P23)Built on2019-06-24 12:02 (revision 37bff5123e5689935ee77c91105f31c1cf3a1f5c)

Nous avons un champ de type décimal, longueur 30, précision 8.
Dans ce champ comme valeur nous avons saisi 6 380,49610206 mais lorsque le focus n’est plus sur le champ cela nous affiche 6 380,410.
L’arrondi ne soit pas bon.

ANO_BIG_DECIMAL
ANO_BIG_DECIMAL_02

Bizarre en effet. le big decimal n’est pas supporté par les navigateurs, mais uniquement en back via des objets java ad hoc. Donc sur le front Simplicité se contente d’afficher du “texte”.

On va regarder ce problème de formatage front.

Effectivement le formatage à l’écran passait par un round/toFixed javascript qui utilise des Float et génère des problèmes d’arrondi classiques si le nombre devient grand (dépasse un double sur 64b).

Le round est remplacé par un algo en pure javascript sans aucun float (bon exercice d’été avec 40°C).

ps: on pourra un jour passer par des BigInt au lieu de number mais c’est loin de devenir natif sur tous les navigateurs.
https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/BigInt

Bonjour,
Est-ce qu’une correction sera livrée en P23?

J’ai poussé ce matin des corrections y compris en release (P23), je pense qu’il s’agit de cela ? @Francois tu confirmes ?

1 Like

oui ça été commité partout hier soir

1 Like