Montants et arrondis
En entrée
Un champ montant (money) ou nombre (number, percentage) accepte un nombre JSON ou une chaîne. Une chaîne suit
l'écriture française comme l'écriture anglaise : virgule ou point décimal, espaces entre les milliers (« 27 500,50 »,
« 27500.50 »). Un pourcentage se saisit en points : 1,5 pour 1,5 %. Les bornes d'un champ (minimum, maximum du
schéma servi par GET /v1/calculators/{slug}/schema) s'appliquent à la valeur lue, quelle que soit son écriture.
Pour un montant, préférez la chaîne : un nombre JSON est un flottant pour la plupart des langages, une chaîne décimale arrive au moteur sans perte.
En sortie
Toute sortie de result est une CHAÎNE décimale, au point décimal, sans séparateur de milliers. Les montants se calculent en
décimal exact, jamais en flottant. Une sortie sans valeur pour la saisie donnée est la chaîne vide.
L'arrondi n'est pas uniforme : chaque calcul suit la règle de son texte. Le revenu imposable et l'impôt sur le revenu sont des euros entiers, une cotisation sociale se calcule au centime. Les deux exemples ci-dessous sont exécutés par le moteur :
Réponse : statut 200 ; extrait de result (irFinal, revenuFiscalReference).
{
"result": {
"irFinal": "1564",
"revenuFiscalReference": "27000"
}
}
Réponse : statut 200 ; extrait de result (salaireNet, totalSalarial, totalPatronal, coutTotalEmployeur).
{
"result": {
"salaireNet": "2374.79",
"totalSalarial": "625.21",
"totalPatronal": "991.08",
"coutTotalEmployeur": "3991.08"
}
}
Les étapes de la trace donnent la formule appliquée à chaque montant et leurs citations (voir La trace).
Affichage
Pour l'affichage en français, formatez la chaîne avec la locale fr-FR (virgule décimale, espace entre les milliers,
symbole € après le montant), en décimal : ne la convertissez pas en flottant pour la formater.