JSFiddle - React, Tailwind, and code Playground
by KCarnaille
JavaScript
var number = '';
getNumber();
convert(number);
function getNumber(){
while(!number || number < 0 || number > 999 || isNaN(number)){
number = parseInt(prompt('Saissez un nombre entre 0 et 999:'));
}
}
function convert(myNumber){
var units = myNumber % 10,
tens = (myNumber % 100 - units) / 10,
hundreds = (myNumber % 1000 - myNumber % 100) / 100;
var textUnits = ['', 'un', 'deux', 'trois', 'quatre', 'cinq', 'six', 'sept', 'huit', 'neuf', 'dix', 'onze', 'douze', 'treize', 'quatorze', 'quinze', 'seize', 'dix-sept', 'dix-huit', 'dix-neuf']
var textDiz = ['', 'dix', 'vingt', 'trente', 'quarante', 'cinquante', 'soixante', 'soixante', 'quatre-vingt', 'quatre-vingt']
var unitsOut, tensOut, hundredsOut;
if(myNumber === 0){
return 'zéro'
}
unitsOut = (units === 1 && tens > 0 && tens !== 8 ? '-et-' : '') + textUnits[units];
if (tens === 1 && units > 0){
tensOut = textUnits[10 + units];
unitsOut = '';
}else if(tens === 7 || tens === 9){
tensOut = textDiz[tens] + (tens === 7 && units === 1 ? '-et-' : '') + '-' + textUnits[10 + units];
unitsOut = '';
}else if(tens !== 0 && units === 0){
tensOut = textDiz[tens];
unitsOut = '';
}else if(tens === 0){
tensOut = '';
}else{
tensOut = textDiz[tens] + '-';
}
if(hundreds === 1){
hundredsOut = 'cent ';
}else if(hundreds > 1){
hundredsOut = textUnits[hundreds] + '-cent ';
}else{
hundredsOut = '';
}
var fullData = hundredsOut + tensOut + unitsOut;
console.log(fullData);
}