TP JS N°1

Converti un nombre en toutes lettres

by LittleLama

JavaScript

function stringNumber(n) {
	var retour="", d=[], excep10=false;
  if(n==0) return "zero";
  if(n>0 && n<=999) {
  	if(n>=100) {d[0] = n-n%100; d[1]=n%100;}
    else {d[0] = n;}
    console.log(d);
        
  	for(i=0;d[i];i++) {
    	console.log("Traitement de "+d[i]);
    	if(d[i]>=100) {    	
      	console.log("String centraine");
        console.log(stringUnit(d[i]/100)+" cent");
        if(d[i]/100 > 1) retour += stringUnit(d[i]/100)+" cent ";     
        else retour += " cent "; 
    		
    	}
    	if(d[i]<100 && d[i]>=10) {
      	console.log("String dizaine");
        console.log(d[i]-d[i]%10);
      	if(d[i]>=10 && d[i]<=16 || d[i]>=70 && d[i]<=76 || d[i]>=90 && d[i]<=96) {
        	excep10=true;
          if(d[i]<=16) retour += exceptionUnit(d[i]%10);
          else retour += stringDizaine(((d[i]-d[i]%10)-10)/10) + exceptionUnit(d[i]%10);
          break;
        } 	
        else retour += stringDizaine((d[i]-d[i]%10)/10);
        
    	}
      if(excep10 == false && (d[i]<10 || ( d[i]%10<d[i] && d[i]%10>0))) {
      	console.log("String unité");
        if(d[i]<10) {
        	console.log(stringUnit(d[i]));
      		retour += stringUnit(d[i]);
        }
        else if(d[i]%10<d[i]) {
        	console.log(stringUnit(d[i]%10));
      		retour += stringUnit(d[i]%10);
        }        
      }
    }
  }
  return retour;
}

function stringUnit(n) {
	if(n>0 && n<10) {
  	switch(n) {    	
      case 1 : return "un"; break;
      case 2 : return "deux"; break;
      case 3 : return "trois"; break;
      case 4 : return "quatre"; break;
      case 5 : return "cinq"; break;
      case 6 : return "six"; break;
      case 7 : return "sept"; break;
      case 8 : return "huit"; break;
      case 9 : return "neuf"; break;
      default: return;
    }
  }
}
function stringDizaine(n) {
	if(n>0 && n<10) {
  	switch(n) {    	
      case 1 : return "dix "; break;
      case 2 : return "vingt "; break;
      case 3 : return "trente "; break;
      case 4 : return...