Les calculs internes sont-ils effectués avec plusieurs décimales ou avec un nombre de décimales fixe? Les valeurs sont-elles toujours arrondies?

Dernière mise à jour : 26 juin 2025

Précision calculée versus précision affichée

L'arrondi est généralement effectué au nombre entier le plus proche pendant le calcul et tronqué lorsqu'il est affiché.

Les fonctions "Obtenir des informations sur les actifs" et "Obtenir des paires d'actifs tradables" fournissent des informations sur le nombre de décimales des différents actifs et le nombre de décimales affichées.

Correspondance des valeurs locales avec les valeurs de l'API

Les valeurs dérivées de calculs locaux (tels que le calcul des changements de solde à partir du prix et du volume d'une transaction) ont souvent plus de décimales que nécessaire, et doivent être arrondies/tronquées pour correspondre aux valeurs fournies par l'API.

Par exemple, un ordre SHIB/USD pour acheter 50 123 SHIB à 0,00002901 $ entraîne une transaction d'une valeur de 1,45406823 $ (50 123 x 0,00002901 = 1,45406823 $), mais le point de terminaison Ledgers de l'API REST montre que le solde USD a diminué d'une valeur de précision inférieure de 1,4541 $ :

"L2A7BN-OLRUR-DGZH7F":{"refid":"T5JORM-HM432-GQ3RGY","time":1639991413.4671,"type":"trade","subtype":"","aclass":"currency","asset":"ZUSD","amount":"-1.4541","fee":"0.0000","balance":"124.7277"}

La solution à ce type d'écart de précision décimale est d'arrondir/tronquer les valeurs locales pour qu'elles correspondent à la précision décimale fournie par le point de terminaison Assets de l'API REST.

En poursuivant l'exemple SHIB/USD, le point de terminaison Assets indique une précision de calcul USD de 4 (voir la section précédente ci-dessus), par conséquent, la valeur calculée localement de 1,45406823 $ doit également être arrondie/tronquée à une précision décimale de 4 :

  • 50 123 x 0,00002901 = 1,45406823 arrondi à 4 décimales = 1,4541

Comme indiqué, en arrondissant/tronquant à la précision décimale appropriée, la valeur finale de 1,4541 $ correspond exactement à la valeur fournie par le point de terminaison Ledgers, permettant ainsi de faire correspondre avec succès les valeurs locales aux valeurs de l'API.

Besoin d’aide supplémentaire ?