@silexpert/core 1.1.51 → 1.1.53

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/es/api/resources/Vat.d.ts +8 -0
  2. package/es/api/resources/Vat.d.ts.map +1 -1
  3. package/es/api/resources/Vat.js +12 -0
  4. package/es/api/resources/Vat.js.map +1 -1
  5. package/es/types/Enum/BrandClementine.d.ts.map +1 -1
  6. package/es/types/Enum/BrandClementine.js +31 -0
  7. package/es/types/Enum/BrandClementine.js.map +1 -1
  8. package/es/types/Enum/Ged.d.ts +12 -0
  9. package/es/types/Enum/Ged.d.ts.map +1 -1
  10. package/es/types/Enum/Ged.js +12 -12
  11. package/es/types/Enum/Ged.js.map +1 -1
  12. package/es/types/Enum/VatDeclarationType.d.ts +2 -0
  13. package/es/types/Enum/VatDeclarationType.d.ts.map +1 -1
  14. package/es/types/Enum/VatDeclarationType.js +228 -0
  15. package/es/types/Enum/VatDeclarationType.js.map +1 -1
  16. package/es/utils/amount.d.ts.map +1 -1
  17. package/es/utils/amount.js +74 -293
  18. package/es/utils/amount.js.map +1 -1
  19. package/js/api/resources/Vat.js +12 -0
  20. package/js/api/resources/Vat.js.map +1 -1
  21. package/js/types/Enum/BrandClementine.js +30 -0
  22. package/js/types/Enum/BrandClementine.js.map +1 -1
  23. package/js/types/Enum/Ged.js +12 -12
  24. package/js/types/Enum/Ged.js.map +1 -1
  25. package/js/types/Enum/VatDeclarationType.js +190 -1
  26. package/js/types/Enum/VatDeclarationType.js.map +1 -1
  27. package/js/utils/amount.js +65 -230
  28. package/js/utils/amount.js.map +1 -1
  29. package/package.json +1 -1
  30. package/ts/api/resources/Vat.ts +14 -0
  31. package/ts/types/Enum/BrandClementine.ts +31 -0
  32. package/ts/types/Enum/Ged.ts +12 -12
  33. package/ts/types/Enum/VatDeclarationType.ts +230 -0
  34. package/ts/utils/amount.ts +86 -161
@@ -231,6 +231,236 @@ export const accountInfo3517: AccountInfo[] = [
231
231
  },
232
232
  ];
233
233
 
234
+ export const accountInfo3310Old: AccountInfo[] = [
235
+ {
236
+ number: 445720,
237
+ fields: ['ligne08Tva'],
238
+ fieldsToSubtract: ['ligne17'],
239
+ type: 'debit',
240
+ },
241
+ {
242
+ number: 445705,
243
+ fields: ['ligne09Tva'],
244
+ fieldsToSubtract: [],
245
+ type: 'debit',
246
+ },
247
+ {
248
+ number: 445710,
249
+ fields: ['ligne9BTva'],
250
+ fieldsToSubtract: [],
251
+ type: 'debit',
252
+ },
253
+ {
254
+ number: 445785,
255
+ fields: ['ligne10Tva'],
256
+ fieldsToSubtract: [],
257
+ type: 'debit',
258
+ },
259
+ {
260
+ number: 445721,
261
+ fields: ['ligne11Tva'],
262
+ fieldsToSubtract: [],
263
+ type: 'debit',
264
+ },
265
+ {
266
+ number: 445820,
267
+ fields: ['ligne13', 'ligne14', 'ligne15', 'ligne5B'],
268
+ fieldsToSubtract: [],
269
+ type: 'debit',
270
+ },
271
+ {
272
+ number: 445200,
273
+ fields: ['ligne7C', 'ligne17'],
274
+ fieldsToSubtract: [],
275
+ type: 'debit',
276
+ },
277
+ {
278
+ number: 445662,
279
+ fields: ['ligne7C', 'ligne17'],
280
+ fieldsToSubtract: [],
281
+ type: 'credit',
282
+ },
283
+ {
284
+ number: 445620,
285
+ fields: ['ligne19'],
286
+ fieldsToSubtract: [],
287
+ type: 'credit',
288
+ },
289
+ {
290
+ number: 445660,
291
+ fields: ['ligne20'],
292
+ fieldsToSubtract: ['ligne7C', 'ligne17'],
293
+ type: 'credit',
294
+ idVat: Vat.TX_20.id,
295
+ },
296
+ {
297
+ number: 445840,
298
+ fields: ['ligne21', 'ligne2C'],
299
+ fieldsToSubtract: [],
300
+ type: 'credit',
301
+ },
302
+ {
303
+ number: 445670,
304
+ fields: ['ligne22'],
305
+ fieldsToSubtract: [],
306
+ type: 'credit',
307
+ },
308
+ {
309
+ number: 445830,
310
+ fields: ['ligne26'],
311
+ fieldsToSubtract: [],
312
+ type: 'debit',
313
+ },
314
+ {
315
+ number: 445670,
316
+ fields: ['ligne27'],
317
+ fieldsToSubtract: [],
318
+ type: 'debit',
319
+ },
320
+ {
321
+ number: 445680,
322
+ fields: ['ligne29'],
323
+ fieldsToSubtract: [],
324
+ type: 'credit',
325
+ },
326
+ {
327
+ number: 635140,
328
+ fields: ['ligne29'],
329
+ fieldsToSubtract: [],
330
+ type: 'debit',
331
+ },
332
+ {
333
+ number: 445510,
334
+ fields: ['ligne32'],
335
+ fieldsToSubtract: [],
336
+ type: 'credit',
337
+ },
338
+ ];
339
+
340
+ export const accountInfo3517Old: AccountInfo[] = [
341
+ {
342
+ number: 445720,
343
+ fields: ['A904072_0', 'A100147_0', 'A100149_0', 'A100161_0'],
344
+ fieldsToSubtract: [],
345
+ type: 'debit',
346
+ },
347
+ {
348
+ number: 445705,
349
+ fields: ['A100140_0'],
350
+ fieldsToSubtract: [],
351
+ type: 'debit',
352
+ },
353
+ {
354
+ number: 445710,
355
+ fields: ['A904074_0'],
356
+ fieldsToSubtract: [],
357
+ type: 'debit',
358
+ },
359
+ {
360
+ number: 445785,
361
+ fields: ['A100168_0'],
362
+ fieldsToSubtract: [],
363
+ type: 'debit',
364
+ },
365
+ {
366
+ number: 445721,
367
+ fields: ['A100166_0'],
368
+ fieldsToSubtract: [],
369
+ type: 'debit',
370
+ },
371
+ {
372
+ number: 445700,
373
+ fields: ['A100083_0', 'A100145_0', 'A100185_0', 'A107009_0'],
374
+ fieldsToSubtract: [],
375
+ type: 'debit',
376
+ },
377
+ {
378
+ number: 445820,
379
+ fields: ['A100197_0', 'A100087_0', 'A905878_0'],
380
+ fieldsToSubtract: [],
381
+ type: 'debit',
382
+ },
383
+ {
384
+ number: 445200,
385
+ fields: ['A900775_0', 'A100150_0'],
386
+ fieldsToSubtract: [],
387
+ type: 'debit',
388
+ },
389
+ {
390
+ number: 445662,
391
+ fields: ['A900775_0', 'A100150_0'],
392
+ fieldsToSubtract: [],
393
+ type: 'credit',
394
+ },
395
+ {
396
+ number: 445620,
397
+ fields: ['A100090_0'],
398
+ fieldsToSubtract: [],
399
+ type: 'credit',
400
+ },
401
+ {
402
+ number: 445660,
403
+ fields: ['A100091_0', 'A100192_0'],
404
+ fieldsToSubtract: ['A900775_0', 'A100150_0'],
405
+ type: 'credit',
406
+ idVat: Vat.TX_20.id,
407
+ },
408
+ {
409
+ number: 445840,
410
+ fields: ['A100092_0'],
411
+ fieldsToSubtract: [],
412
+ type: 'credit',
413
+ },
414
+ {
415
+ number: 445820,
416
+ fields: ['A905879_0'],
417
+ fieldsToSubtract: [],
418
+ type: 'credit',
419
+ },
420
+ {
421
+ number: 445810,
422
+ fields: ['A100194_0'],
423
+ fieldsToSubtract: [],
424
+ type: 'credit',
425
+ },
426
+ {
427
+ number: 445670,
428
+ fields: ['A100151_0'],
429
+ fieldsToSubtract: [],
430
+ type: 'credit',
431
+ },
432
+ {
433
+ number: 445830,
434
+ fields: ['A100097_0'],
435
+ fieldsToSubtract: [],
436
+ type: 'debit',
437
+ },
438
+ {
439
+ number: 445670,
440
+ fields: ['A100098_0'],
441
+ fieldsToSubtract: [],
442
+ type: 'debit',
443
+ },
444
+ {
445
+ number: 445810,
446
+ fields: ['A100224_0'],
447
+ fieldsToSubtract: [],
448
+ type: 'debit',
449
+ },
450
+ {
451
+ number: 445680,
452
+ fields: ['A100204_0'],
453
+ fieldsToSubtract: [],
454
+ type: 'credit',
455
+ },
456
+ {
457
+ number: 445510,
458
+ fields: ['A100103_0'],
459
+ fieldsToSubtract: [],
460
+ type: 'credit',
461
+ },
462
+ ];
463
+
234
464
  export interface EntriesListField {
235
465
  fields: Array<string>,
236
466
  fieldsToSubtract: Array<string>,
@@ -50,172 +50,97 @@ export function integerToFormattedAmountObject(
50
50
  }
51
51
 
52
52
  /**
53
- * Convertit jusqu'à 999 999 999 999 999 (billion) *
53
+ * Convertit les nombres à virgule de 0 à 100 000 000 (100 millions) *
54
54
  * @param nombre
55
55
  * @returns {string}
56
56
  */
57
- function getUnite(nombre: number):string {
58
- let unite;
59
- switch (nombre) {
60
- // case 0: unite = 'zéro'; break;
61
- case 1: unite = 'un'; break;
62
- case 2: unite = 'deux'; break;
63
- case 3: unite = 'trois'; break;
64
- case 4: unite = 'quatre'; break;
65
- case 5: unite = 'cinq'; break;
66
- case 6: unite = 'six'; break;
67
- case 7: unite = 'sept'; break;
68
- case 8: unite = 'huit'; break;
69
- case 9: unite = 'neuf'; break;
70
- default: unite = 'zéro'; break;
71
- }// fin switch
72
- return unite;
57
+ const unites: string[] = [
58
+ '', 'un', 'deux', 'trois', 'quatre', 'cinq', 'six', 'sept', 'huit', 'neuf', 'dix',
59
+ 'onze', 'douze', 'treize', 'quatorze', 'quinze', 'seize', 'dix-sept', 'dix-huit', 'dix-neuf',
60
+ ];
61
+
62
+ const dizaines: string[] = [
63
+ '', '', 'vingt', 'trente', 'quarante', 'cinquante', 'soixante', 'soixante',
64
+ 'quatre-vingt', 'quatre-vingt',
65
+ ];
66
+
67
+ const groupes: string[] = ['', 'mille', 'million'];
68
+
69
+ function convertirGroupeEnLettres(groupe: number): string {
70
+ let groupeEnLettres = '';
71
+
72
+ const centaines = Math.floor(groupe / 100);
73
+ const dizainesEtUnites = groupe % 100;
74
+
75
+ if (centaines > 0) {
76
+ groupeEnLettres += `${unites[centaines] === 'un' ? '' : unites[centaines]} cent `;
77
+ }
78
+
79
+ if (dizainesEtUnites > 0) {
80
+ if (dizainesEtUnites <= 19) {
81
+ groupeEnLettres += unites[dizainesEtUnites];
82
+ } else {
83
+ const unite = dizainesEtUnites % 10;
84
+ const dizaine = Math.floor(dizainesEtUnites / 10);
85
+ groupeEnLettres += dizaines[dizaine];
86
+
87
+ if (unite > 0) {
88
+ if (dizaine === 7 || dizaine === 9) {
89
+ /* const dizaineTexte = */dizaines[dizaine].slice(0, -1);
90
+ const uniteTexte = unites[unite];
91
+ groupeEnLettres += `-${uniteTexte}`;
92
+ } else {
93
+ const uniteTexte = unites[unite];
94
+ groupeEnLettres += `-${uniteTexte}`;
95
+ }
96
+ }
97
+ }
98
+ }
99
+
100
+ return groupeEnLettres.trim();
73
101
  }
102
+ function convertirNombreEntierEnLettres(ent: number): string {
103
+ let entier = ent;
104
+ if (entier === 0) {
105
+ return 'zéro';
106
+ }
107
+
108
+ let resultat = '';
74
109
 
75
- function getDizaine(nombre: number):string {
76
- let dizaine;
77
- switch (nombre) {
78
- // case 10: dizaine = 'dix'; break;
79
- case 11: dizaine = 'onze'; break;
80
- case 12: dizaine = 'douze'; break;
81
- case 13: dizaine = 'treize'; break;
82
- case 14: dizaine = 'quatorze'; break;
83
- case 15: dizaine = 'quinze'; break;
84
- case 16: dizaine = 'seize'; break;
85
- case 17: dizaine = 'dix-sept'; break;
86
- case 18: dizaine = 'dix-huit'; break;
87
- case 19: dizaine = 'dix-neuf'; break;
88
- case 20: dizaine = 'vingt'; break;
89
- case 30: dizaine = 'trente'; break;
90
- case 40: dizaine = 'quarante'; break;
91
- case 50: dizaine = 'cinquante'; break;
92
- case 60: dizaine = 'soixante'; break;
93
- case 70: dizaine = 'soixante-dix'; break;
94
- case 80: dizaine = 'quatre-vingt'; break;
95
- case 90: dizaine = 'quatre-vingt-dix'; break;
96
- default: dizaine = 'dix'; break;
97
- }// fin switch
98
- return dizaine;
99
- }//-----------------------------------------------------------------------
110
+ let groupeIndex = 0;
111
+ while (entier > 0) {
112
+ const groupe = entier % 1000;
113
+ const groupeEnLettres = convertirGroupeEnLettres(groupe);
100
114
 
115
+ if (groupeEnLettres !== '') {
116
+ resultat = `${groupeEnLettres === 'un' && ['mille', 'cent'].includes(groupes[groupeIndex]) ? '' : groupeEnLettres} ${groupes[groupeIndex]}${groupeIndex === 2 && groupeEnLettres !== 'un' ? 's' : ''} ${resultat}`;
117
+ }
118
+
119
+ entier = Math.floor(entier / 1000);
120
+ groupeIndex += 1;
121
+ }
122
+
123
+ return resultat.trim();
124
+ }
125
+ function convertirNombreDecimalEnLettres(decimal: number): string {
126
+ const decimalArrondi = Math.round(decimal * 100);
127
+ return `virgule ${convertirNombreEntierEnLettres(decimalArrondi)}`;
128
+ }
101
129
  export function convertNumberToLetter(nombre: number): string {
102
- let quotient: number; let reste: number;
103
- let numberToLetter = '';
104
-
105
- if (nombre.toString().replace(/ /gi, '').length > 15) return 'dépassement de capacité';
106
- if (Number.isNaN(nombre.toString().replace(/ /gi, ''))) return 'Nombre non valide';
107
-
108
- const nb = parseFloat(nombre.toString().replace(/ /gi, ''));
109
- if (Math.ceil(nb) !== nb) return 'Nombre avec virgule non géré.';
110
-
111
- const n = nb.toString().length;
112
- switch (n) {
113
- // case 1: numberToLetter = getUnite(nb); break;
114
- case 2: if (nb > 19) {
115
- quotient = Math.floor(nb / 10);
116
- reste = nb % 10;
117
- if (nb < 71 || (nb > 79 && nb < 91)) {
118
- if (reste === 0) numberToLetter = getDizaine(quotient * 10);
119
- if (reste === 1) numberToLetter = `${getDizaine(quotient * 10)}-et-${getUnite(reste)}`;
120
- if (reste > 1) numberToLetter = `${getDizaine(quotient * 10)}-${getUnite(reste)}`;
121
- } else numberToLetter = `${getDizaine((quotient - 1) * 10)}-${getDizaine(10 + reste)}`;
122
- } else numberToLetter = getDizaine(nb);
123
- break;
124
- case 3: quotient = Math.floor(nb / 100);
125
- reste = nb % 100;
126
- if (quotient === 1 && reste === 0) numberToLetter = 'cent';
127
- if (quotient === 1 && reste !== 0) numberToLetter = `${'cent '}${convertNumberToLetter(reste)}`;
128
- if (quotient > 1 && reste === 0) numberToLetter = `${getUnite(quotient)} cents`;
129
- if (quotient > 1 && reste !== 0) numberToLetter = `${getUnite(quotient)} cent ${convertNumberToLetter(reste)}`;
130
- break;
131
- case 4: quotient = Math.floor(nb / 1000);
132
- reste = nb - quotient * 1000;
133
- if (quotient === 1 && reste === 0) numberToLetter = 'mille';
134
- if (quotient === 1 && reste !== 0) numberToLetter = `${'mille '}${convertNumberToLetter(reste)}`;
135
- if (quotient > 1 && reste === 0) numberToLetter = `${convertNumberToLetter(quotient)} mille`;
136
- if (quotient > 1 && reste !== 0) numberToLetter = `${convertNumberToLetter(quotient)} mille ${convertNumberToLetter(reste)}`;
137
- break;
138
- case 5: quotient = Math.floor(nb / 1000);
139
- reste = nb - quotient * 1000;
140
- if (quotient === 1 && reste === 0) numberToLetter = 'mille';
141
- if (quotient === 1 && reste !== 0) numberToLetter = `${'mille '}${convertNumberToLetter(reste)}`;
142
- if (quotient > 1 && reste === 0) numberToLetter = `${convertNumberToLetter(quotient)} mille`;
143
- if (quotient > 1 && reste !== 0) numberToLetter = `${convertNumberToLetter(quotient)} mille ${convertNumberToLetter(reste)}`;
144
- break;
145
- case 6: quotient = Math.floor(nb / 1000);
146
- reste = nb - quotient * 1000;
147
- if (quotient === 1 && reste === 0) numberToLetter = 'mille';
148
- if (quotient === 1 && reste !== 0) numberToLetter = `${'mille '}${convertNumberToLetter(reste)}`;
149
- if (quotient > 1 && reste === 0) numberToLetter = `${convertNumberToLetter(quotient)} mille`;
150
- if (quotient > 1 && reste !== 0) numberToLetter = `${convertNumberToLetter(quotient)} mille ${convertNumberToLetter(reste)}`;
151
- break;
152
- case 7: quotient = Math.floor(nb / 1000000);
153
- reste = nb % 1000000;
154
- if (quotient === 1 && reste === 0) numberToLetter = 'un million';
155
- if (quotient === 1 && reste !== 0) numberToLetter = `${'un million '}${convertNumberToLetter(reste)}`;
156
- if (quotient > 1 && reste === 0) numberToLetter = `${convertNumberToLetter(quotient)} millions`;
157
- if (quotient > 1 && reste !== 0) numberToLetter = `${convertNumberToLetter(quotient)} millions ${convertNumberToLetter(reste)}`;
158
- break;
159
- case 8: quotient = Math.floor(nb / 1000000);
160
- reste = nb % 1000000;
161
- if (quotient === 1 && reste === 0) numberToLetter = 'un million';
162
- if (quotient === 1 && reste !== 0) numberToLetter = `${'un million '}${convertNumberToLetter(reste)}`;
163
- if (quotient > 1 && reste === 0) numberToLetter = `${convertNumberToLetter(quotient)} millions`;
164
- if (quotient > 1 && reste !== 0) numberToLetter = `${convertNumberToLetter(quotient)} millions ${convertNumberToLetter(reste)}`;
165
- break;
166
- case 9: quotient = Math.floor(nb / 1000000);
167
- reste = nb % 1000000;
168
- if (quotient === 1 && reste === 0) numberToLetter = 'un million';
169
- if (quotient === 1 && reste !== 0) numberToLetter = `${'un million '}${convertNumberToLetter(reste)}`;
170
- if (quotient > 1 && reste === 0) numberToLetter = `${convertNumberToLetter(quotient)} millions`;
171
- if (quotient > 1 && reste !== 0) numberToLetter = `${convertNumberToLetter(quotient)} millions ${convertNumberToLetter(reste)}`;
172
- break;
173
- case 10: quotient = Math.floor(nb / 1000000000);
174
- reste = nb - quotient * 1000000000;
175
- if (quotient === 1 && reste === 0) numberToLetter = 'un milliard';
176
- if (quotient === 1 && reste !== 0) numberToLetter = `${'un milliard '}${convertNumberToLetter(reste)}`;
177
- if (quotient > 1 && reste === 0) numberToLetter = `${convertNumberToLetter(quotient)} milliards`;
178
- if (quotient > 1 && reste !== 0) numberToLetter = `${convertNumberToLetter(quotient)} milliards ${convertNumberToLetter(reste)}`;
179
- break;
180
- case 11: quotient = Math.floor(nb / 1000000000);
181
- reste = nb - quotient * 1000000000;
182
- if (quotient === 1 && reste === 0) numberToLetter = 'un milliard';
183
- if (quotient === 1 && reste !== 0) numberToLetter = `${'un milliard '}${convertNumberToLetter(reste)}`;
184
- if (quotient > 1 && reste === 0) numberToLetter = `${convertNumberToLetter(quotient)} milliards`;
185
- if (quotient > 1 && reste !== 0) numberToLetter = `${convertNumberToLetter(quotient)} milliards ${convertNumberToLetter(reste)}`;
186
- break;
187
- case 12: quotient = Math.floor(nb / 1000000000);
188
- reste = nb - quotient * 1000000000;
189
- if (quotient === 1 && reste === 0) numberToLetter = 'un milliard';
190
- if (quotient === 1 && reste !== 0) numberToLetter = `${'un milliard '}${convertNumberToLetter(reste)}`;
191
- if (quotient > 1 && reste === 0) numberToLetter = `${convertNumberToLetter(quotient)} milliards`;
192
- if (quotient > 1 && reste !== 0) numberToLetter = `${convertNumberToLetter(quotient)} milliards ${convertNumberToLetter(reste)}`;
193
- break;
194
- case 13: quotient = Math.floor(nb / 1000000000000);
195
- reste = nb - quotient * 1000000000000;
196
- if (quotient === 1 && reste === 0) numberToLetter = 'un billion';
197
- if (quotient === 1 && reste !== 0) numberToLetter = `${'un billion '}${convertNumberToLetter(reste)}`;
198
- if (quotient > 1 && reste === 0) numberToLetter = `${convertNumberToLetter(quotient)} billions`;
199
- if (quotient > 1 && reste !== 0) numberToLetter = `${convertNumberToLetter(quotient)} billions ${convertNumberToLetter(reste)}`;
200
- break;
201
- case 14: quotient = Math.floor(nb / 1000000000000);
202
- reste = nb - quotient * 1000000000000;
203
- if (quotient === 1 && reste === 0) numberToLetter = 'un billion';
204
- if (quotient === 1 && reste !== 0) numberToLetter = `${'un billion '}${convertNumberToLetter(reste)}`;
205
- if (quotient > 1 && reste === 0) numberToLetter = `${convertNumberToLetter(quotient)} billions`;
206
- if (quotient > 1 && reste !== 0) numberToLetter = `${convertNumberToLetter(quotient)} billions ${convertNumberToLetter(reste)}`;
207
- break;
208
- case 15: quotient = Math.floor(nb / 1000000000000);
209
- reste = nb - quotient * 1000000000000;
210
- if (quotient === 1 && reste === 0) numberToLetter = 'un billion';
211
- if (quotient === 1 && reste !== 0) numberToLetter = `${'un billion '}${convertNumberToLetter(reste)}`;
212
- if (quotient > 1 && reste === 0) numberToLetter = `${convertNumberToLetter(quotient)} billions`;
213
- if (quotient > 1 && reste !== 0) numberToLetter = `${convertNumberToLetter(quotient)} billions ${convertNumberToLetter(reste)}`;
214
- break;
215
- default: numberToLetter = getUnite(nb); break;
216
- } // fin switch
217
- /* respect de l'accord de quatre-vingt */
218
- if (numberToLetter.substr(numberToLetter.length - 'quatre-vingt'.length, 'quatre-vingt'.length) === 'quatre-vingt') numberToLetter += 's';
219
-
220
- return numberToLetter;
130
+ const partieEntiere = Math.floor(nombre);
131
+ const partieDecimale = nombre - partieEntiere;
132
+
133
+ let resultat = '';
134
+
135
+ if (partieEntiere === 0) {
136
+ resultat = 'zéro';
137
+ } else {
138
+ resultat = convertirNombreEntierEnLettres(partieEntiere);
139
+ }
140
+
141
+ if (partieDecimale > 0) {
142
+ resultat += ` ${convertirNombreDecimalEnLettres(partieDecimale)}`;
143
+ }
144
+
145
+ return resultat;
221
146
  }