Les Snippets

Connexion

Conversion d'un nombre en toutes lettres

Niveau requis pour utiliser/comprendre cette source : 1 ( Débutant )
Créé le 29/05/2011 18:42:57 et initié par pecten [Liste]
Vue : 2446
Catégorie(s) : Maths, Algorithme, Divers
Langages dispo pour ce code :
- Python



Langage : Python
Date ajout : 29/05/2011
Posté par pecten [Liste]
schu=["","UN ","DEUX ","TROIS ","QUATRE ","CINQ ","SIX ","SEPT ","HUIT ","NEUF "]
schud=["DIX ","ONZE ","DOUZE ","TREIZE ","QUATORZE ","QUINZE ","SEIZE ","DIX SEPT ","DIX HUIT ","DIX NEUF "]
schd=["","DIX ","VINGT ","TRENTE ","QUARANTE ","CINQUANTE ","SOIXANTE ","SOIXANTE ","QUATRE VINGT ","QUATRE VINGT "]
def convNombre2lettres(nombre):
    s=''
    reste=nombre
    i=1000000000 
    while i>0:
        y=reste/i
        if y!=0:
            centaine=y/100
            dizaine=(y - centaine*100)/10
            unite=y-centaine*100-dizaine*10
            if centaine==1:
                s+="CENT "
            elif centaine!=0:
                s+=schu[centaine]+"CENT "
                if dizaine==0 and unite==0: s=s[:-1]+"S " 
            if dizaine not in [0,1]: s+=schd[dizaine] 
            if unite==0:
                if dizaine in [1,7,9]: s+="DIX "
                elif dizaine==8: s=s[:-1]+"S "
            elif unite==1:   
                if dizaine in [1,9]: s+="ONZE "
                elif dizaine==7: s+="ET ONZE "
                elif dizaine in [2,3,4,5,6]: s+="ET UN "
                elif dizaine in [0,8]: s+="UN "
            elif unite in [2,3,4,5,6,7,8,9]: 
                if dizaine in [1,7,9]: s+=schud[unite] 
                else: s+=schu[unite] 
            if i==1000000000:
                if y>1: s+="MILLIARDS "
                else: s+="MILLIARD "
            if i==1000000:
                if y>1: s+="MILLIONS "
                else: s+="MILLIONS "
            if i==1000:
                s+="MILLE "
        #end if y!=0
        reste -= y*i
        dix=False
        i/=1000;
    #end while
    if len(s)==0: s+="ZERO "
    return s
print convNombre2lettres(3999)


Snippets en rapport avec : Texte, Convertir, Nombre, Lettres



Codes sources en rapport avec : Texte, Convertir, Nombre, Lettres

{Visual Basic, VB6, VB.NET, VB 2005} CLASSE QUI PERMET DE CONVERTIR UN NOMBRE EN LETTRES
Ce code est celui d'une classe permettant de réaliser de la convertion d'une valeur numérique en le...

{Visual Basic, VB6, VB.NET, VB 2005} CONVERSION MULTI-LANGUE DE NOMBRES EN TEXTE
Dans le cadre d'une de mon application de gestion locative immobilière multilingue (Français, anglai...

{Visual Basic, VB6, VB.NET, VB 2005} CHIFFRE EN LETTRE FONCTION
Une petite fonction simlpe pour transformer un chiffre en lettre. Exemple: "15193" >> dix ...

{PHP} CONVERTISSEUR DE NOMBRES EN TEXTE
Qu'est-ce ? Un convertisseur de nombre en texte. Ses particularités? - pas de limitation sur la ...

{Visual Basic, VB6, VB.NET, VB 2005} LESLETTRES - TROUVER UN MOT CORRESPONDANT À PLUSIEURS LETTRES
Ce projet permet de trouver un mot dans un dictionnaire correspondant à une suite de lettres défini...

{PHP} CHIFFRES EN LETTRES
cette source converti des chiffres en des chaines de caractère en toute lettre supporte jusqu'à 999...

{SQL} CONVERSION DE NOMBRE EN LETTRES (SQL)
Je me suis inspiré du code c# trouvé ici (http://files.codes-sources.com/fichier.aspx?id=21491&f=con...

{Javascript / DHTML} CONVERSION DES NOMBRES EN LETTRE
Permet de convertir des nombres(chiffres) en leur équivalent en lettre (ex: 1=un). Respecte l'accord...

{Visual Basic, VB6, VB.NET, VB 2005} CONVERTIR UN NOMBRE ECRIT EN LETTRES VERS LES CHIFFRES ET VICE VERSA
Ce code permet de convertir un nombre écrit en toute lettres en chiffres. Il est reversible c'est à ...

{Visual Basic, VB6, VB.NET, VB 2005} VBA EXCEL CONVERTIR EN NOMBRE, APPLIQUER UN FORMAT MONETAIRE OU POURCENTAGE
Convertir en nombre (format standard) ou appliquer un format de type monétaire (deux décimales sans ...