fix(absences) : afficher le solde de CP avec décimales (8,75) sans arrondir
Auto Tag Develop / tag (push) Successful in 8s
Auto Tag Develop / tag (push) Successful in 8s
Le solde était arrondi à la demi-journée (Math.round(n*2)/2), affichant 9 au lieu de 8,75 : un salarié pouvait croire à un droit supérieur au réel. Formatage via Intl.NumberFormat fr-FR (virgule, max 2 décimales, zéros superflus retirés) dans formatDays et les cartes de solde.
This commit is contained in:
@@ -102,7 +102,8 @@ const others = computed<AbsenceBalance[]>(() =>
|
||||
)
|
||||
|
||||
function formatNumber(n: number): string {
|
||||
return (Math.round(n * 2) / 2).toString()
|
||||
// Valeur réelle avec décimales (ex. 8,75) : pas d'arrondi qui gonflerait le solde.
|
||||
return new Intl.NumberFormat('fr-FR', { maximumFractionDigits: 2 }).format(n)
|
||||
}
|
||||
|
||||
// Total entitlement = acquired (N-1) + in-progress (N); falls back to the
|
||||
|
||||
@@ -75,9 +75,11 @@ export function useAbsenceHelpers() {
|
||||
}
|
||||
|
||||
function formatDays(days: number): string {
|
||||
const rounded = Math.round(days * 2) / 2
|
||||
const unit = rounded > 1 ? t('absences.daysPlural') : t('absences.daySingular')
|
||||
return `${rounded} ${unit}`
|
||||
// Affiche la valeur réelle avec décimales (ex. 8,75) : un solde de CP se
|
||||
// gère en demi/quart de journée, arrondir masquerait des droits réels.
|
||||
const value = new Intl.NumberFormat('fr-FR', { maximumFractionDigits: 2 }).format(days)
|
||||
const unit = days >= 2 ? t('absences.daysPlural') : t('absences.daySingular')
|
||||
return `${value} ${unit}`
|
||||
}
|
||||
|
||||
return {
|
||||
|
||||
Reference in New Issue
Block a user