Do not round for mensualite_minimale [skip ci]

This commit is contained in:
Denis Merigoux 2022-07-19 18:14:02 +02:00
parent 47f3632b5a
commit 59bdd2a3a0
No known key found for this signature in database
GPG Key ID: EE99DCFA365C3EE3
2 changed files with 31 additions and 20 deletions

View File

@ -3505,23 +3505,34 @@ champ d'application CalculAidePersonnaliséeLogementAccessionPropriété:
# d'où la ligne ci-dessous.
type_travaux_logement sous forme TypeTravauxLogementD832_15.PasDeTravaux
conséquence égal à
# Pour la tranche supérieure
((si ressources_ménage_arrondies -€ montant_limite_tranches_d832_15_1 *€
n_nombre_parts_d832_11 >=€ 0€
alors
(ressources_ménage_arrondies -€ montant_limite_tranches_d832_15_1 *€
n_nombre_parts_d832_11) *€
taux_tranche_supérieure_d832_15_1
sinon 0 €) +€
# Pour la tranche inférieure
(si ressources_ménage_arrondies -€ montant_limite_tranches_d832_15_1 *€
n_nombre_parts_d832_11 <=€ 0€
alors
ressources_ménage_arrondies *€ taux_tranche_inférieure_d832_15_1
sinon
((montant_limite_tranches_d832_15_1 *€ n_nombre_parts_d832_11) *€
taux_tranche_inférieure_d832_15_1)))
*€ (1,0/.12,0)
# Selon un mail de DGALN/DHUP/FE4 du 19/07/2022, il nest nécessaire pour le
# calcul de cette mensualité minimale de garder une précision infinie
# durant toutes les étapes du calcul. En Catala, nous utilisons donc le type
# décimal plutôt que argent qui arrondi systématiquement au centime près
# à chaque étape de calcul.
décimal_vers_argent de (
((si
# Pour la tranche supérieure
argent_vers_décimal de ressources_ménage_arrondies >=.
(argent_vers_décimal de montant_limite_tranches_d832_15_1 *.
n_nombre_parts_d832_11)
alors
((argent_vers_décimal de ressources_ménage_arrondies -.
(argent_vers_décimal de montant_limite_tranches_d832_15_1 *.
n_nombre_parts_d832_11)) *. taux_tranche_supérieure_d832_15_1)
sinon 0,0) +.
(si
# Pour la tranche inférieure
argent_vers_décimal de ressources_ménage_arrondies <=.
argent_vers_décimal de montant_limite_tranches_d832_15_1 *.
n_nombre_parts_d832_11
alors
argent_vers_décimal de ressources_ménage_arrondies *.
taux_tranche_inférieure_d832_15_1
sinon
((argent_vers_décimal de montant_limite_tranches_d832_15_1 *.
n_nombre_parts_d832_11) *.
taux_tranche_inférieure_d832_15_1))) /. 12,0)
# PS: les ressources ont déjà été arrondies, voir D823-17.
```

View File

@ -32,9 +32,9 @@ champ d'application Exemple1:
calcul.aide_finale_formule
assertion montant = 184,93 €
assertion calcul.mensualité_éligible = 533,91 €
assertion calcul.mensualité_minimale = 332,76
assertion calcul.mensualité_minimale = 332,75
assertion calcul.coefficient_prise_en_charge_d832_10 = 0,68
assertion calcul.aide_finale_formule = 190,14
assertion calcul.aide_finale_formule = 190,15
```
```catala
@ -104,7 +104,7 @@ champ d'application Exemple3:
calcul.aide_finale_formule
assertion montant = 184,93 €
assertion calcul.mensualité_éligible = 533,91 €
assertion calcul.mensualité_minimale = 332,76
assertion calcul.mensualité_minimale = 332,75
assertion calcul.coefficient_prise_en_charge_d832_10 = 0,68
assertion calcul.aide_finale_formule = 190,37€
```