begin process at 2012 02 15 01:03:24
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Divers

 > ENTIER EN LETTRES

ENTIER EN LETTRES


 Information sur la source

Note :
8 / 10 - par 1 personne
8,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Divers Classé sous :convertir, chiffre, lettre, entier, convertion Niveau :Débutant Date de création :20/06/2005 Date de mise à jour :28/06/2005 10:23:44 Vu :7 362

Auteur : indiana_jules

Ecrire un message privé
Commentaire sur cette source (6)
Ajouter un commentaire et/ou une note

 Description

Voici un petit code qui transforme un entier en lettre (ex: 2000 ==> deux mille).

Source

  • /**Méthopde permettant de convertir l'entier sous forme de lettres
  • * @param intToString valeur entiére qu'on veut sous forme de chaine
  • * @return Nombre sous forme de lettres*/
  • public static String convertIntToString(int intToString){
  • int valeur = intToString;
  • String result = "";
  • if(valeur < 0){
  • result = "-";
  • valeur = -1 * valeur; //On le met en positif
  • }
  • //Nous allons commencer par convertir les chiffres supérieure à 1 000 000 000
  • if(valeur > 1000000000){
  • int valeurSupMilliard = (int)valeur / 1000000000;
  • result = result + " " + convertIntToString(valeurSupMilliard) + " milliard";
  • valeur = valeur - (valeurSupMilliard * 1000000000);
  • }
  • //Nous allons convertir les chifres entre 1 000 000 et 999 999 999
  • if(valeur > 1000000){
  • int valeurMillion = (int)valeur / 1000000;
  • result = result + " " + convertIntToString(valeurMillion) + " million";
  • valeur = valeur - (valeurMillion * 1000000);
  • }
  • //Nous allons convertir les chiffres entre 1000 et 999 999
  • if(valeur > 1000){
  • int valeurMille = (int)valeur / 1000;
  • if(valeurMille > 1){
  • result = result + " " + convertIntToString(valeurMille) + " mille";
  • }
  • else{
  • result = result + " mille";
  • }
  • valeur = valeur - (valeurMille * 1000);
  • }
  • //Nous allons convertir les chiffres entre 100 et 999
  • if(valeur > 100){
  • int valeurCent = (int)valeur / 100;
  • if(valeurCent > 1){
  • result = result + " " + convertIntToString(valeurCent) + " cent";
  • }
  • else{
  • result = result + " cent";
  • }
  • valeur = valeur - (valeurCent * 100);
  • }
  • //Nous allons convertir les chiffres entre 0 et 99
  • switch(valeur){
  • case 0 :
  • if(result == "" || result == "-"){
  • result = "zéro";
  • }
  • break;
  • case 1 :
  • result = result + " un";
  • break;
  • case 2 :
  • result = result + " deux";
  • break;
  • case 3 :
  • result = result + " trois";
  • break;
  • case 4 :
  • result = result + " quatre";
  • break;
  • case 5 :
  • result = result + " cinq";
  • break;
  • case 6 :
  • result = result + " six";
  • break;
  • case 7 :
  • result = result + " sept";
  • break;
  • case 8 :
  • result = result + " huit";
  • break;
  • case 9 :
  • result = result + " neuf";
  • break;
  • case 10 :
  • result = result + " dix";
  • break;
  • case 11 :
  • result = result + " onze";
  • break;
  • case 12 :
  • result = result + " douze";
  • break;
  • case 13 :
  • result = result + " treize";
  • break;
  • case 14 :
  • result = result + " quatorze";
  • break;
  • case 15 :
  • result = result + " quinze";
  • break;
  • case 16 :
  • result = result + " seize";
  • break;
  • case 20 :
  • result = result + " vingt";
  • break;
  • case 30 :
  • result = result + " trente";
  • break;
  • case 40 :
  • result = result + " quarante";
  • break;
  • case 50 :
  • result = result + " cinquante";
  • break;
  • case 60 :
  • result = result + " soixante";
  • break;
  • case 70 :
  • result = result + " soixante-dix";
  • break;
  • case 80 :
  • result = result + " quatre-vingts";
  • break;
  • case 81 :
  • result = result + " quatre-vingts un";
  • break;
  • case 90 :
  • result = result + " quatre-vingts-dix";
  • break;
  • case 91 :
  • result = result + " quatre-vingts onze";
  • break;
  • default :
  • int valeurDizaine = (valeur / 10) * 10;
  • int valeurUnite = valeur % 10;
  • //Les valeurs entre 16 et 20, 70 et 80, et entre 90 et 100 sont des cas
  • //particuliers, nous devons faire un triatment particulier
  • if((valeur > 16 && valeur < 20) || (valeur > 70 && valeur < 80) || (valeur > 90 && valeur < 100)){
  • valeurDizaine -= 10;
  • valeurUnite += 10;
  • }
  • if(valeurDizaine == 0){
  • result = result + " " + convertIntToString(valeurUnite);
  • }
  • else if(valeurUnite == 0){
  • result = result + " " + convertIntToString(valeurDizaine);
  • }
  • else if(valeurUnite == 1){
  • result = result + " " + convertIntToString(valeurDizaine)
  • + " et " + convertIntToString(valeurUnite);
  • }
  • else{
  • result = result + " " + convertIntToString(valeurDizaine)
  • + "-" + convertIntToString(valeurUnite);
  • }
  • }
  • return result.trim();
  • }
  • /**Méthode permettant de convertir le réel sous forme de lettre
  • * @param realToString valeur réelle qu'on veut sous forme de chaine
  • * @return Nombre sous forme de lettres*/
  • public static String convertRealToString(double intToString){
  • int valeurApresVirgule = (int)(intToString - (int)intToString);
  • int valeurAvantVirgule = (int)(intToString - valeurApresVirgule);
  • String result = "";
  • if(valeurApresVirgule == 0){
  • result = convertIntToString(valeurAvantVirgule);
  • }
  • else{
  • result = convertIntToString(valeurAvantVirgule) + ","
  • + convertIntToString(valeurApresVirgule);
  • }
  • return result ;
  • }
    /**Méthopde permettant de convertir l'entier sous forme de lettres
    * @param intToString valeur entiére qu'on veut sous forme de chaine
    * @return Nombre sous forme de lettres*/
   public static String convertIntToString(int intToString){
   	 int valeur = intToString;
   	 String result = "";
      	    	 
   	 if(valeur < 0){
   	 	result = "-";
   	 	valeur = -1 * valeur; //On le met en positif
   	 }
   	 
   	 //Nous allons commencer par convertir les chiffres supérieure à 1 000 000 000
   	 if(valeur > 1000000000){
   	 	int valeurSupMilliard = (int)valeur / 1000000000;
   	 	result = result + " " + convertIntToString(valeurSupMilliard) + " milliard";
   	 	valeur = valeur - (valeurSupMilliard * 1000000000);
   	 }
   	 
   	 //Nous allons convertir les chifres entre 1 000 000 et 999 999 999  
   	 if(valeur > 1000000){
   	 	int valeurMillion = (int)valeur / 1000000;
   	 	result = result + " " + convertIntToString(valeurMillion) + " million";
   	 	valeur = valeur - (valeurMillion * 1000000);
   	 }
   	 
   	 //Nous allons convertir les chiffres entre 1000 et 999 999
   	 if(valeur > 1000){
   	 	int valeurMille = (int)valeur / 1000;

   	 	if(valeurMille > 1){
   	 		result = result + " " + convertIntToString(valeurMille) + " mille";
   	 	}
   	 	else{
   	 		result = result + " mille";
   	 	}
   	 	
   	 	valeur = valeur - (valeurMille * 1000);
   	 }
   	
   	 //Nous allons convertir les chiffres entre 100 et 999	
   	 if(valeur > 100){
   	 	int valeurCent = (int)valeur / 100;

   	 	if(valeurCent > 1){
   	 		result = result + " " + convertIntToString(valeurCent) + " cent";
   	 	}
   	 	else{
   	 		result = result + " cent";
   	 	}
   	 	
   	 	valeur = valeur - (valeurCent * 100);
   	 }
   	 
   	 //Nous allons convertir les chiffres entre 0 et 99
   	 switch(valeur){
   	 	case 0 : 
   	 		if(result == "" || result == "-"){
   	 			result = "zéro";
   	 		}
   	 		break;
   	 	case 1 : 
   	 		result = result + " un";
   	 		break;
   	 	case 2 : 
   	 		result = result + " deux";
   	 		break;
   	 	case 3 : 
   	 		result = result + " trois";
   	 		break;
   	 	case 4 : 
   	 		result = result + " quatre";
   	 		break;
   		case 5 : 
   			result = result + " cinq";
   			break;
   		case 6 : 
   			result = result + " six";
   			break;
   		case 7 : 
   			result = result + " sept";
   			break;
   		case 8 : 
   			result = result + " huit";
   			break;
   		case 9 : 
   			result = result + " neuf";
   			break;
   		case 10 : 
   			result = result + " dix";
   			break;
   		case 11 : 
   			result = result + " onze";
   			break;
   		case 12 : 
   			result = result + " douze";
   			break;
   		case 13 : 
   			result = result + " treize";
   			break;
   		case 14 : 
   			result = result + " quatorze";
   			break;
   		case 15 : 
   			result = result + " quinze";
   			break;
   		case 16 : 
   			result = result + " seize";
   			break;   		
   		case 20 : 
   			result = result + " vingt";
   			break;
   		case 30 : 
   			result = result + " trente";
   			break;
   		case 40 : 
   			result = result + " quarante";
   			break;
   		case 50 : 
   			result = result + " cinquante";
   			break;
   		case 60 : 
   			result = result + " soixante";
   			break;
   		case 70 : 
   			result = result + " soixante-dix";
   			break;
   		case 80 : 
   			result = result + " quatre-vingts";
   			break;
   		case 81 : 
   			result = result + " quatre-vingts un";
   			break;
   		case 90 : 
   			result = result + " quatre-vingts-dix";
   			break;
   		case 91 : 
   			result = result + " quatre-vingts onze";
   			break;
   		default :
   			int valeurDizaine = (valeur / 10) * 10;
   			int valeurUnite = valeur % 10;
   			
   			//Les valeurs entre 16 et 20, 70 et 80, et entre 90 et 100 sont des cas
   			//particuliers, nous devons faire un triatment particulier
   			if((valeur > 16 && valeur < 20) || (valeur > 70 && valeur < 80) || (valeur > 90 && valeur < 100)){
   				valeurDizaine -= 10;  			
   				valeurUnite +=  10;
   			}
   			
   			if(valeurDizaine == 0){
				result = result + " " + convertIntToString(valeurUnite);
			}
			else if(valeurUnite == 0){
				result = result + " " + convertIntToString(valeurDizaine);
			}
			else if(valeurUnite == 1){
				result = result + " " + convertIntToString(valeurDizaine)
				+ " et " + convertIntToString(valeurUnite);
			}
			else{
				result = result + " " + convertIntToString(valeurDizaine)
				+ "-" + convertIntToString(valeurUnite);
			}
   	 }
   	
   	 return result.trim();
   }

   /**Méthode permettant de convertir le réel sous forme de lettre
    * @param realToString valeur réelle qu'on veut sous forme de chaine
    * @return Nombre sous forme de lettres*/   
   public static String convertRealToString(double intToString){
   	 int valeurApresVirgule = (int)(intToString - (int)intToString);
   	 int valeurAvantVirgule = (int)(intToString - valeurApresVirgule);
   	 String result = "";
   	 
   	 if(valeurApresVirgule == 0){
   	 	result = convertIntToString(valeurAvantVirgule);
   	 }
   	 else{
   	 	result = convertIntToString(valeurAvantVirgule) + ","
			+ convertIntToString(valeurApresVirgule);
   	 }
   	 
   	 return result ;
   }



 Historique

20 juin 2005 14:12:42 :
Petit oubli :p
28 juin 2005 10:23:44 :
petites corrections

 Sources du même auteur

UNE SEULE INSTANCE DE PROGRAMME SANS SOCKET
Source avec Zip JMF ET RTP
Source avec Zip Source avec une capture JTABBEDPANE FERMABLE AVEC GESTION DU DRAG AND DROP
Source avec Zip OBSERVER ET OBSERVABLE EN RMI
Source avec Zip Source avec une capture HEADER POUR LES LIGNES D'UNE JTABLE

 Sources de la même categorie

Source avec Zip Source avec une capture COMPLÉTION AUTOMATIQUE par Julien39
Source avec Zip Source avec une capture [JOGL] ANIMATION 3D DANS UN BOUTON par loloof64
Source avec Zip CALCULATRICE BIEN FAITE (VERSION SIMPLIFIÉE) par Julien39
Source avec une capture YNOT, UN NOUVEAU LANGAGE DE SCRIPT ÉCRIT EN JAVA. par apmneo7114
Source avec Zip KIT DE FICHIERS DE PROGRAMMATION par edouard333

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture LE COMPTE EST BON par jojolemariole
SOMME NOMBRE BINAIRE par Scupper
STRING TO (STRING) INT par maximelien
Source avec Zip TRANSFORMATION NOMBRE EN LETTRE par smarticu
ECRIRE UN NOMBRE ENTIER EN TOUTE LETTRE par JHelp

Commentaires et avis

Commentaire de AbriBus le 21/06/2005 07:46:09

Salut...
C'est amusant...héhé... moi j'aime bien :D
AbriBus

Commentaire de sesram le 27/06/2005 17:10:40

Salut,

Félicitation pour cet excellent morceau de code. Néanmoins j'ai cru relever une erreur :

int valeurMille = (int)valeur / 1000;
        if(valeur > 1000){
            if(valeurMille != 0) // ne faudrait-il pas marquer >1 au lieu de !=0
            {
                result = result + " " + convertIntToString(valeurMille) + " mille";
            }
            else{
                result = result + " mille";
            }
            
            valeur = valeur - (valeurMille * 1000);
        }  


Encore bravo pour ce code.

Sesram

Commentaire de indiana_jules le 28/06/2005 10:18:02

Euh vi effectivement, ya bien une erreur, merci de me l'avoir indiquer, je corrige ca tout de suite

Commentaire de muad-dib le 09/02/2006 01:28:31

Salut sympa cette source.

Je vais chipoter mais il faut mettre :
        
if(valeur >= 1000000000)

au lieu de

if(valeur > 1000000000)

sinon on obtient dix cent millions au lieu d'un milliard

Idem pour million et mille

Quant à 100, j'obtiens un erreur de stackOverflow ... idem pour 98 ou 99 --> convertIntToString(98) ca plante

Donc à améliorer !

Commentaire de Anthed le 23/11/2007 17:00:47

Attention aux fautes de syntaxe :
- 'cent' et 'vingt' ne prennent un 's' à la fin que s'ils ne sont suivis de rien (deux cents / deux cent onze)
- un tiret doit être ajouté entre chacun des mots constituant un nombre inférieur à 100 (mille deux cent quatre-vingt-deux).

Commentaire de indiana_jules le 24/11/2007 09:23:01

Oups
je savais bien que je suis nul en français :/

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Java: convertir une lettre en un entier [ par anor ] je voudrais convertir une lettre en un entier, par exemple a en 1, b en 2, le point d'intérogation en 3 en java, c'est possible? [BAR --> SQL]Convertir chiffre en lettre(français) [ par bonoua ] Je travaille sous une base de donné oracle, et je dois afficher dans un etat la somme totale des factures en lettres. J ai essayé avec ceci mais ma re transforme un entier en lettre sous iReport [ par hafedhaouni ] salut; Comment faire pour [b]transforme un entier en lettre[/b] avec iReport merci. convertir un entier ascii en chaine de caractères [ par premiumkd ] Bonjour, j'arrive pas à lire un message déchiffré, il est sous forme d'un entier formé du code ascii du message, exemple : a=656667 je veux conve iReport Convertir un montant en toute lettre [ par hafedhaouni ] Salut; S'il est possible de convertir un montant(Net à payer) en toute lettre. [b]Avec iReport[/b]. Sans utilisé eclipse ou autre logiciel. Merci pour Convertir un tableau d’entier en String [ par kaninama ] Bonjour, Je veux convertir tout un tableau d'entier en String mais je n'arrive pas a réalisé cela vu que je suis débutante en java, j'ai essayé < Recherche d'un caractère dans un tableau [ par ghostkill77 ] Bonsoir tout le monde ,J'ai un programme a faire qui me demande de creer un tableau T  qui prend en parametre un ou plusieur entier (c'est a moi de de convertir du vba en java [ par DAM3117 ] bonjour à tousJ'ai une base excel avec un grand nombre de macros en vba et je voudrai le convertir en java.mais je ne sais comment faire.merci à tous Comment afficher sur plusieurs lignes le titre d'un List ? [ par pheromix ] Bonjour à tous, J'ai un List dont le titre est dynamique , le titre est la concaténation du nom et prénoms d'une personne. Quand ce titre est trop l Convertir un objet de type date en String [ par tanalook ] Bonsoir, je voudrais convertir getdatesoldeCarte de type date en String mais à chaque fois que je mes saisieDateSoldeCarte.setText(date.toString(uneCa


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 5,959 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales