Accueil > > > ECRIRE UN NOMBRE ENTIER EN TOUTE LETTRE
ECRIRE UN NOMBRE ENTIER EN TOUTE LETTRE
Information sur la source
Description
Comme le titre l'indique ce code permet de transfomer un entier en toute lettre. C'est à dire 123, devient "cent vingt trois" 4563 devient "quatre mille cinq cent soixante trois"
Source
- package utilitaires;
-
- /**
- * <p>Titre : Utilitaires</p>
- * <p>Description : Divers utilitaires</p>
- * <p>Copyright : Copyright (c) 2002</p>
- * <p>Société : GG</p>
- * @author JHelp
- * @version 1.0
- */
-
- /**
- * Classe permetant de transformer un entier en don écriture en toute lettre <BR>
- * Exemple : 123 devient cent vingt trois
- */
- public class Nombre
- {
- /**
- * Représentaion en lettre de 0
- */
- public static final String ZERO="zéro";
- /**
- * Représentaion en lettre de 1
- */
- public static final String UN="un";
- /**
- * Représentaion en lettre de 2
- */
- public static final String DEUX="deux";
- /**
- * Représentaion en lettre de 3
- */
- public static final String TROIS="trois";
- /**
- * Représentaion en lettre de 4
- */
- public static final String QUATRE="quatre";
- /**
- * Représentaion en lettre de 5
- */
- public static final String CINQ="cinq";
- /**
- * Représentaion en lettre de 6
- */
- public static final String SIX="six";
- /**
- * Représentaion en lettre de 7
- */
- public static final String SEPT="sept";
- /**
- * Représentaion en lettre de 8
- */
- public static final String HUIT="huit";
- /**
- * Représentaion en lettre de 9
- */
- public static final String NEUF="neuf";
-
- /**
- * Représentaion en lettre de 10
- */
- public static final String DIX="dix";
- /**
- * Représentaion en lettre de 11
- */
- public static final String ONZE="onze";
- /**
- * Représentaion en lettre de 12
- */
- public static final String DOUZE="douze";
- /**
- * Représentaion en lettre de 13
- */
- public static final String TREIZE="treize";
- /**
- * Représentaion en lettre de 14
- */
- public static final String QUATORZE="quatorze";
- /**
- * Représentaion en lettre de 15
- */
- public static final String QUINZE="quinze";
- /**
- * Représentaion en lettre de 16
- */
- public static final String SEIZE="seize";
-
- /**
- * Représentaion en lettre de 20
- */
- public static final String VINGT="vingt";
- /**
- * Représentaion en lettre de 30
- */
- public static final String TRENTE="trente";
- /**
- * Représentaion en lettre de 40
- */
- public static final String QUARANTE="quarante";
- /**
- * Représentaion en lettre de 50
- */
- public static final String CINQUANTE="cinquante";
- /**
- * Représentaion en lettre de 60
- */
- public static final String SOIXANTE="soixante";
-
- /**
- * Représentaion en lettre de 100
- */
- public static final String CENT="cent";
-
- /**
- * Représentaion en lettre de 1000
- */
- public static final String MILLE="mille";
- /**
- * Représentaion en lettre de 1000000
- */
- public static final String MILLION="million";
- /**
- * Représentaion en lettre de 1000000000
- */
- public static final String MILLIARD="milliard";
-
- /**
- * Représentaion en lettre de -
- */
- public static final String MOINS="moins";
-
- //Nom des différents types de paquet de nombre
- private static final String[] tab={"",MILLE,MILLION,MILLIARD,MILLE+" "+MILLIARD,
- MILLION+" de "+MILLIARD,MILLIARD+" de "+MILLIARD};
-
- /**
- * Renvoie la représentation en lettre d'un chiffre, c'est à dire d'un nombre ente 0 et 9
- */
- public static String getChiffre(int l)
- {
- if((l<0)||(l>9))
- throw new IllegalArgumentException("Un chiffre est entre 0 et 9, donc "+l+" est interdit");
- switch(l)
- {
- case 0 :
- return ZERO;
- case 1 :
- return UN;
- case 2 :
- return DEUX;
- case 3 :
- return TROIS;
- case 4 :
- return QUATRE;
- case 5 :
- return CINQ;
- case 6 :
- return SIX;
- case 7 :
- return SEPT;
- case 8 :
- return HUIT;
- case 9 :
- return NEUF;
- }
- return null;
- }
-
- //Retourne la représentation en lettre d'un paquet. Un paquet est formé de tois chiffres, comme 123, 012, 001, 100, 101,...
- private static String paquet(int p)
- {
- //On initialise la réponse
- String reponse="";
- //Si on a un chiffre des centaines
- if(p>100)
- {
- //Si la valeur est >199 alors, on va mettre devant le chiffre des centaine
- if(p/100>1)
- reponse=getChiffre(p/100)+" ";
- //C'est une centaine, donc on ajoute ensuite "cent"
- reponse += CENT+" ";
- //On récupére ce qui n'est pas la centaine
- p=p%100;
- }
- //c chiffre des dizaines
- //u chaiffre des unitées
- int c=p/10;
- int u=p%10;
- switch(c)
- {
- //Si la dizaine est nule, alors le nombre est un chiffre
- case 0 :
- if(u!=0)
- reponse += getChiffre(u);
- break;
- case 1 :
- switch(u)
- {
- case 0 :
- reponse += DIX;
- break;
- case 1 :
- reponse += ONZE;
- break;
- case 2 :
- reponse += DOUZE;
- break;
- case 3 :
- reponse += TREIZE;
- break;
- case 4 :
- reponse += QUATORZE;
- break;
- case 5 :
- reponse += QUINZE;
- break;
- case 6 :
- reponse += SEIZE;
- break;
- default :
- reponse += DIX+" "+getChiffre(u);
- }
- break;
- case 2 :
- reponse += VINGT;
- if(u==1)
- reponse += " et";
- if(u>0)
- reponse += " "+getChiffre(u);
- break;
- case 3 :
- reponse += TRENTE;
- if(u==1)
- reponse += " et";
- if(u>0)
- reponse += " "+getChiffre(u);
- break;
- case 4 :
- reponse += QUARANTE;
- if(u==1)
- reponse += " et";
- if(u>0)
- reponse += " "+getChiffre(u);
- break;
- case 5 :
- reponse += CINQUANTE;
- if(u==1)
- reponse += " et";
- if(u>0)
- reponse += " "+getChiffre(u);
- break;
- case 6 :
- reponse += SOIXANTE;
- if(u==1)
- reponse += " et";
- if(u>0)
- reponse += " "+getChiffre(u);
- break;
- case 7 :
- reponse += SOIXANTE+" ";
- if(u==1)
- reponse += " et";
- switch(u)
- {
- case 0 :
- reponse += DIX;
- break;
- case 1 :
- reponse += ONZE;
- break;
- case 2 :
- reponse += DOUZE;
- break;
- case 3 :
- reponse += TREIZE;
- break;
- case 4 :
- reponse += QUATORZE;
- break;
- case 5 :
- reponse += QUINZE;
- break;
- case 6 :
- reponse += SEIZE;
- break;
- default :
- reponse += DIX+" "+getChiffre(u);
- }
- break;
- case 8 :
- reponse += QUATRE+" "+VINGT;
- if(u>0)
- reponse += " "+getChiffre(u);
- break;
- case 9 :
- reponse += QUATRE+" "+VINGT+" ";
- switch(u)
- {
- case 0 :
- reponse += DIX;
- break;
- case 1 :
- reponse += ONZE;
- break;
- case 2 :
- reponse += DOUZE;
- break;
- case 3 :
- reponse += TREIZE;
- break;
- case 4 :
- reponse += QUATORZE;
- break;
- case 5 :
- reponse += QUINZE;
- break;
- case 6 :
- reponse += SEIZE;
- break;
- default :
- reponse += DIX+" "+getChiffre(u);
- }
- break;
- }
- //On renvoie la réponse, à laquelle on retire les éventuels espaces surperflus
- return reponse.trim();
- }
-
- /**
- * Renvoie le nombre en lettre, <BR>
- * ex: 1234567890 devient : un milliard deux cent trente quatre million cinq cent soixante sept mille huit cent quatre vingt dix
- */
- public static String getLettre(long l)
- {
- //Cas zéro
- if(l==0L)
- return ZERO;
- String signe="";
- //Cas négatif
- if(l<0L)
- {
- //On prned la valeur absolue
- l=-l;
- //On ajoutera moins devant
- signe=MOINS+" ";
- }
- //Initilisation de la réponse
- String reponse="";
- //Rang du paquet actuel, on va parcourir le nombre de gauche à droite, le premier paquet de 123456 sera donc : 456
- int rang=0;
- while(l>0L)
- {
- //on ajoute le paquet devant la réponse
- reponse=paquet((int)(l%1000L))+" "+tab[rang]+" "+reponse;
- //on passe au paquet suivant
- l=l/1000L;
- rang++;
- }
- //on ajoute le signe éventuel
- reponse=signe+reponse;
- //On renvoie la réponse, à laquelle on retire les éventuels espaces surperflus
- return reponse.trim();
- }
- }
package utilitaires;
/**
* <p>Titre : Utilitaires</p>
* <p>Description : Divers utilitaires</p>
* <p>Copyright : Copyright (c) 2002</p>
* <p>Société : GG</p>
* @author JHelp
* @version 1.0
*/
/**
* Classe permetant de transformer un entier en don écriture en toute lettre <BR>
* Exemple : 123 devient cent vingt trois
*/
public class Nombre
{
/**
* Représentaion en lettre de 0
*/
public static final String ZERO="zéro";
/**
* Représentaion en lettre de 1
*/
public static final String UN="un";
/**
* Représentaion en lettre de 2
*/
public static final String DEUX="deux";
/**
* Représentaion en lettre de 3
*/
public static final String TROIS="trois";
/**
* Représentaion en lettre de 4
*/
public static final String QUATRE="quatre";
/**
* Représentaion en lettre de 5
*/
public static final String CINQ="cinq";
/**
* Représentaion en lettre de 6
*/
public static final String SIX="six";
/**
* Représentaion en lettre de 7
*/
public static final String SEPT="sept";
/**
* Représentaion en lettre de 8
*/
public static final String HUIT="huit";
/**
* Représentaion en lettre de 9
*/
public static final String NEUF="neuf";
/**
* Représentaion en lettre de 10
*/
public static final String DIX="dix";
/**
* Représentaion en lettre de 11
*/
public static final String ONZE="onze";
/**
* Représentaion en lettre de 12
*/
public static final String DOUZE="douze";
/**
* Représentaion en lettre de 13
*/
public static final String TREIZE="treize";
/**
* Représentaion en lettre de 14
*/
public static final String QUATORZE="quatorze";
/**
* Représentaion en lettre de 15
*/
public static final String QUINZE="quinze";
/**
* Représentaion en lettre de 16
*/
public static final String SEIZE="seize";
/**
* Représentaion en lettre de 20
*/
public static final String VINGT="vingt";
/**
* Représentaion en lettre de 30
*/
public static final String TRENTE="trente";
/**
* Représentaion en lettre de 40
*/
public static final String QUARANTE="quarante";
/**
* Représentaion en lettre de 50
*/
public static final String CINQUANTE="cinquante";
/**
* Représentaion en lettre de 60
*/
public static final String SOIXANTE="soixante";
/**
* Représentaion en lettre de 100
*/
public static final String CENT="cent";
/**
* Représentaion en lettre de 1000
*/
public static final String MILLE="mille";
/**
* Représentaion en lettre de 1000000
*/
public static final String MILLION="million";
/**
* Représentaion en lettre de 1000000000
*/
public static final String MILLIARD="milliard";
/**
* Représentaion en lettre de -
*/
public static final String MOINS="moins";
//Nom des différents types de paquet de nombre
private static final String[] tab={"",MILLE,MILLION,MILLIARD,MILLE+" "+MILLIARD,
MILLION+" de "+MILLIARD,MILLIARD+" de "+MILLIARD};
/**
* Renvoie la représentation en lettre d'un chiffre, c'est à dire d'un nombre ente 0 et 9
*/
public static String getChiffre(int l)
{
if((l<0)||(l>9))
throw new IllegalArgumentException("Un chiffre est entre 0 et 9, donc "+l+" est interdit");
switch(l)
{
case 0 :
return ZERO;
case 1 :
return UN;
case 2 :
return DEUX;
case 3 :
return TROIS;
case 4 :
return QUATRE;
case 5 :
return CINQ;
case 6 :
return SIX;
case 7 :
return SEPT;
case 8 :
return HUIT;
case 9 :
return NEUF;
}
return null;
}
//Retourne la représentation en lettre d'un paquet. Un paquet est formé de tois chiffres, comme 123, 012, 001, 100, 101,...
private static String paquet(int p)
{
//On initialise la réponse
String reponse="";
//Si on a un chiffre des centaines
if(p>100)
{
//Si la valeur est >199 alors, on va mettre devant le chiffre des centaine
if(p/100>1)
reponse=getChiffre(p/100)+" ";
//C'est une centaine, donc on ajoute ensuite "cent"
reponse += CENT+" ";
//On récupére ce qui n'est pas la centaine
p=p%100;
}
//c chiffre des dizaines
//u chaiffre des unitées
int c=p/10;
int u=p%10;
switch(c)
{
//Si la dizaine est nule, alors le nombre est un chiffre
case 0 :
if(u!=0)
reponse += getChiffre(u);
break;
case 1 :
switch(u)
{
case 0 :
reponse += DIX;
break;
case 1 :
reponse += ONZE;
break;
case 2 :
reponse += DOUZE;
break;
case 3 :
reponse += TREIZE;
break;
case 4 :
reponse += QUATORZE;
break;
case 5 :
reponse += QUINZE;
break;
case 6 :
reponse += SEIZE;
break;
default :
reponse += DIX+" "+getChiffre(u);
}
break;
case 2 :
reponse += VINGT;
if(u==1)
reponse += " et";
if(u>0)
reponse += " "+getChiffre(u);
break;
case 3 :
reponse += TRENTE;
if(u==1)
reponse += " et";
if(u>0)
reponse += " "+getChiffre(u);
break;
case 4 :
reponse += QUARANTE;
if(u==1)
reponse += " et";
if(u>0)
reponse += " "+getChiffre(u);
break;
case 5 :
reponse += CINQUANTE;
if(u==1)
reponse += " et";
if(u>0)
reponse += " "+getChiffre(u);
break;
case 6 :
reponse += SOIXANTE;
if(u==1)
reponse += " et";
if(u>0)
reponse += " "+getChiffre(u);
break;
case 7 :
reponse += SOIXANTE+" ";
if(u==1)
reponse += " et";
switch(u)
{
case 0 :
reponse += DIX;
break;
case 1 :
reponse += ONZE;
break;
case 2 :
reponse += DOUZE;
break;
case 3 :
reponse += TREIZE;
break;
case 4 :
reponse += QUATORZE;
break;
case 5 :
reponse += QUINZE;
break;
case 6 :
reponse += SEIZE;
break;
default :
reponse += DIX+" "+getChiffre(u);
}
break;
case 8 :
reponse += QUATRE+" "+VINGT;
if(u>0)
reponse += " "+getChiffre(u);
break;
case 9 :
reponse += QUATRE+" "+VINGT+" ";
switch(u)
{
case 0 :
reponse += DIX;
break;
case 1 :
reponse += ONZE;
break;
case 2 :
reponse += DOUZE;
break;
case 3 :
reponse += TREIZE;
break;
case 4 :
reponse += QUATORZE;
break;
case 5 :
reponse += QUINZE;
break;
case 6 :
reponse += SEIZE;
break;
default :
reponse += DIX+" "+getChiffre(u);
}
break;
}
//On renvoie la réponse, à laquelle on retire les éventuels espaces surperflus
return reponse.trim();
}
/**
* Renvoie le nombre en lettre, <BR>
* ex: 1234567890 devient : un milliard deux cent trente quatre million cinq cent soixante sept mille huit cent quatre vingt dix
*/
public static String getLettre(long l)
{
//Cas zéro
if(l==0L)
return ZERO;
String signe="";
//Cas négatif
if(l<0L)
{
//On prned la valeur absolue
l=-l;
//On ajoutera moins devant
signe=MOINS+" ";
}
//Initilisation de la réponse
String reponse="";
//Rang du paquet actuel, on va parcourir le nombre de gauche à droite, le premier paquet de 123456 sera donc : 456
int rang=0;
while(l>0L)
{
//on ajoute le paquet devant la réponse
reponse=paquet((int)(l%1000L))+" "+tab[rang]+" "+reponse;
//on passe au paquet suivant
l=l/1000L;
rang++;
}
//on ajoute le signe éventuel
reponse=signe+reponse;
//On renvoie la réponse, à laquelle on retire les éventuels espaces surperflus
return reponse.trim();
}
}
Conclusion
Quand j'aurais le courage, je rajouterais une méthode pour les réels, c'est à dire trans formé 123.456 en "cent vint trois et quatre cent cinquante six centiéme"
JHelp
Sources du même auteur
Sources de la même categorie
Commentaires et avis
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
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
[Date] Convertir un double en date [ par coinki ]
Bonjour, j'ai des dates issues de Delphi dont le format se présente sous forme d'un nombre à virgule. Ex : 39933.1669560185 => 30/04/2009 04:00:25
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
Transcrire un nombre en lettre [ par the_daren ]
Salut tout le monde,J'ai commencé par remplir des tableaux de constantes(tableau unité,dizaine,centaine puis millier)Code:String Dizaine[]={
Comment savoir si un nombre a des chhiffre apres la virgule? [ par nahzhir ]
Bonjour comme le titre du sujet l'indique : je voudrais savoir si un double possede une chiffre apres la virgule dans mon application ce chiffre apres
tronquer nombre de chiffre apres virgule [ par mouzoun_issam ]
Bah voilà, j'ai float f = 12,45467464 et moi j'veux dans un String recupérer 12,45.. Ça fait déjà 1/2 heure que je cher
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é <
|
Derniers Blogs
[SHAREPOINT] LES SESSIONS TECHDAYS 2012.[SHAREPOINT] LES SESSIONS TECHDAYS 2012. par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article par Patrick Guimonet TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE !MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE ! par Vko
Hier durant une session dédiée aux Techdays 2012, j'ai eu le plaisir d'annoncer la sortie de la Béta 2 de Mishra Reader. C'est quoi ? Pour les utilisateurs, c'est une vraie expérience de lecture de flux RSS sur Windows. Rien à voir avec les produit...
Cliquez pour lire la suite de l'article par Vko [FRAMEWORK 4] LES TASKS ET LE THREAD UI[FRAMEWORK 4] LES TASKS ET LE THREAD UI par fathi
Je viens de passer quelques temps au TechDay's et j'ai pu voir pas mal de session intéressante. Par contre une chose m'a un peu étonné lors de certaines de ces sessions qui abordaient les améliorations du framework .NET (donc le 4.5) : en gros, bea...
Cliquez pour lire la suite de l'article par fathi WORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBEWORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBE par JeremyJeanson
Depuis déjà un an, je conseille vivement les utilisateurs de Workflow Foundation 3 à migrer vers la version 4. L'information qui va suivre ne devrait donc pas trop prendre au dépourvu les personnes qui m'ont suivi. Je profite de ce poste, pour faire le re...
Cliquez pour lire la suite de l'article par JeremyJeanson
Forum
RE : CODE GéNéRé RE : CODE GéNéRé par Julien39
Cliquez pour lire la suite par Julien39 RE : CODE GéNéRé RE : CODE GéNéRé par Julien39
Cliquez pour lire la suite par Julien39
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|