diff --git a/src/pab/pab_nombre.ts b/src/pab/pab_nombre.ts index 27b76643f21cf3968c164e869ab1b0b7dfc11d97..c26ee74281d0eef5997816e7523252d884d1ec98 100644 --- a/src/pab/pab_nombre.ts +++ b/src/pab/pab_nombre.ts @@ -22,10 +22,10 @@ export class PabNombre extends Nub { } public Equation(sVarCalc: string): Result { + let rounded = false; if (sVarCalc !== "N" && ! Number.isInteger(this.prms.N.v)) { - const m = new Message(MessageCode.ERROR_PARAMDEF_VALUE_INTEGER); - m.extraVar.N = this.prms.N.v; - return new Result(m); + this.prms.N.v = Math.round(this.prms.N.v); + rounded = true; } let v: number; @@ -53,6 +53,13 @@ export class PabNombre extends Nub { const r = new Result(v, this); r.resultElement.values.DHR = DHR; + if (rounded) { + const m = new Message(MessageCode.WARNING_VALUE_ROUNDED_TO_INTEGER); + m.extraVar.symbol = "N"; + m.extraVar.rounded = this.prms.N.v; + r.resultElement.log.add(m); + } + return r; } diff --git a/src/util/message.ts b/src/util/message.ts index 32334e5e03e5386f3dd0db6512def13807f55343..3c128937b7457859ae3de325ae931a61e5785ebb 100644 --- a/src/util/message.ts +++ b/src/util/message.ts @@ -350,7 +350,12 @@ export enum MessageCode { /** * Des problèmes ont été rencontrés durant le calcul */ - WARNING_PROBLEMS_ENCOUNTERED + WARNING_PROBLEMS_ENCOUNTERED, + + /** + * La valeur du paramètre a été arrondie à l'entier + */ + WARNING_VALUE_ROUNDED_TO_INTEGER } /**