- La manipulation de montants monétaires est une tâche courante en informatique, mais les principaux langages de programmation ne disposent pas d’un type de données natif pour représenter les montants
- Cela peut provoquer des problèmes d’arrondi dans des opérations comme le paiement en plusieurs fois, le change, le traitement des frais et la collecte des taxes
- Money est une bibliothèque Kotlin conçue pour faciliter le calcul et l’allocation de montants
- Elle prend en charge les opérations mathématiques sur les montants, le calcul de pourcentages et l’allocation, ce qui permet de modéliser divers cas d’usage
- Elle prend aussi en charge les cryptomonnaies par défaut
- Fonction d’allocation
- L’un des plus grands atouts de la bibliothèque est sa fonction d’allocation
- Elle permet de répartir un montant en plusieurs parts tout en garantissant l’égalité avec le montant d’origine
- Par exemple, lorsqu’un client règle un achat de 100,00 USD en trois échéances, cela permet d’éviter les pertes dues aux problèmes d’arrondi
- Méthode d’allocation
- La méthode
allocate() garantit un résultat sans écart par rapport au montant initial.
- Pour allouer selon des proportions, il faut passer une liste de valeurs
Percentage.
- Par défaut, la bibliothèque répartit automatiquement la différence, mais cela peut être ajusté avec la stratégie d’allocation souhaitée.
- Conclusion
- Cet article ne fait qu’introduire brièvement les fonctionnalités de la bibliothèque.
- L’objectif est de conserver une API concise tout en étendant progressivement la prise en charge du développement Android ainsi que les fonctions de persistance et de sérialisation.
- Espérons que la version actuelle sera utile à celles et ceux qui manipulent des montants dans des projets Kotlin.
Récapitulatif de GN⁺
- Gérer des montants est une tâche fréquente en programmation, mais elle peut devenir complexe à cause des problèmes d’arrondi.
- La bibliothèque Money est une bibliothèque Kotlin conçue pour résoudre ces problèmes, en prenant en charge l’allocation et le calcul précis des montants.
- Cette bibliothèque prend en charge 306 devises et 2 283 cryptomonnaies, ce qui la rend utile pour manipuler des montants dans des projets Kotlin.
- Parmi les autres projets aux fonctionnalités similaires, on peut citer la bibliothèque Java Joda-Money.
1 commentaires
Avis Hacker News
l’utilisation des fonctions infix semble un peu étrange
plusetminusn’ont pas été surchargés à la place de "increaseBy" et "decreaseBy"félicitations pour la bibliothèque et merci de l’avoir partagée
cela rappelle l’ergonomie du type monétaire de Rebol
questions sur les cas limites qui apparaissent lors du traitement de montants
appréciation du support des devises personnalisées
il est étrange que les langages de tableur gèrent mal l’argent
le type
decimalde C# convient bien au calcul monétairebeaucoup appris dans les commentaires, et cela aidera pour la prochaine itération de la bibliothèque
plutôt qu’une bibliothèque, souhait d’avoir une suite de tests approfondie couvrant tous les cas limites
uint64,size_t, etc.cela semble répondre à toutes les exigences, avec une bonne discussion des principales difficultés du traitement monétaire