Rechercher : dans
Par :

Transformation de chiffre en lettre

Dernière réponse le 19 oct 2007 à 13:25:17 tacha84, le 19 oct 2007 à 09:40:10 
 Signaler ce message aux modérateurs

Bonjour,
je veux savoir comment faire un programme qui permet de transformer les chiffres en lettres.par exemple si j'ai un montant en chiffre,je peux l'afficher en toute lettre.le programme soit en vb,java ou c++.
merci bien

Configuration: Windows XP
Firefox 2.0

Meilleures réponses pour « transformation de chiffre en lettre » dans :
[Word] Écrire un nombre en toutes lettres VoirPour transformer un nombre en toutes lettres sans se perdre dans l'orthographe (tirets, 's'...), il est possible de demander à Word de formater ce nombre en lettres : Créer un champ avec CTRL-F9 S'affichera {} à l'écran Le remplir avec la...
Chiffrement par substitution VoirLe chiffrement par substitution Le chiffrement par substitution consiste à remplacer dans un message une ou plusieurs entités (généralement des lettres) par une ou plusieurs autres entités. On distingue généralement plusieurs types de...
Les classes de style (CSS) VoirLes classes et les ID Les classes Il peut s'avérer intéressant d'affecter des styles différents à des mêmes balises. Pour cela les spécifications CSS ont introduit le concept de classe. La définition des classes est aussi simple que celles des...

1

zacharius, le 19 oct 2007 à 09:47:14

Il s'agit du cas le plus simple :)

Dans le cas du Java :

pour une variable entière a,

new Integer(a).toString();


Pour le C :

sprintf(myString, "%d", a);

La syntaxe est pareil que printf sauf que tu ajoutes un tableau de char plutot que d'envoyer à la sortie standard!

Répondre à zacharius

2

ShaBoo, le 19 oct 2007 à 09:50:47

Bonjour,

Je crois qu'il veut plutôt ceci :

si il tape 1 au clavier, il veut "un" afficher à l'écran.

Répondre à ShaBoo

3

tacha84, le 19 oct 2007 à 10:15:56
  • +3

Par exemple si j'ai 435 il m'affiche quatre cent trent cinq,car je veux l'utilisé avec excel dans les factures.et svp je veux un programmes complet car je sais pas comment faire.merci

Répondre à tacha84

4

Polux31, le 19 oct 2007 à 10:27:34
  • +2

Bonjour,

J'ai trouvé ça si ça peut d'aider:

=========================================

Public Function sommelettre(ByVal argument As Currency) As String
Dim entier As Double
Dim cts As Double

Dim resultat1 As String
Dim resultat2 As String

entier = Int(argument) ' Valeur entière
cts = (argument - entier) * 100 ' Valeur Centimes

resultat1 = somlet2(entier)
resultat2 = somlet2(cts)

If Trim(resultat1) <> "" Then
resultat1 = resultat1 & " Euros "
End If
If Trim(resultat2) <> "" Then
resultat2 = resultat2 & " Cts"
End If

If resultat2 <> "" Then
sommelettre = resultat1 & " et " & resultat2
Else
sommelettre = resultat1
End If


End Function
'*************************************************************
' Fonction de conversion chiffres en lettres
'*************************************************************
Public Function somlet2(ByVal argument As Double) As String

Dim lettres As Variant
Dim unites As Variant
Dim dizaines As Variant
Dim centaines As Variant

Dim unite As Integer
Dim dix As Integer
Dim cent As Integer

Dim groupes As Variant
Dim chaine As String
Dim ng, nc As Integer
Dim i, j, k As Integer
Dim xx As String

chaine = Trim(Str(argument))
nc = Len(chaine) ' Nbre de chiffres


lettres = Array("", "mille", "million", "milliard", "billion")
unites = Array("", "un", "deux", "trois", "quatre", "cinq", "six", "sept", "huit", "neuf", "dix", "onze", "douze", "treize", "quatorze", "quinze", "seize", "dix sept", "dix huit", "dix neuf")
dizaines = Array("", "dix", "vingt", "trente", "quarante", "cinquante", "soixante", "soixante dix", "quatre vingt", "quatre vingt dix")
centaines = Array("", "cent", "deux cents", "trois cents", "quatre cents", "cinq cents", "six cents", "sept cents", "huit cents", "neuf cents")

If argument = 0 Then
somlet2 = ""
Else
If nc Mod 3 > 0 Then
ng = Int(nc / 3) + 1 ' Nbre de groupes
Else
ng = nc / 3
End If
ReDim groupes(ng - 1)
chaine = String(ng * 3 - nc, " ") & chaine
nc = Len(chaine)
j = 0
For i = nc To 1 Step -3
xx = Mid(chaine, i - 2, i)
groupes(j) = xx
j = j + 1
Next
chaine = ""
For j = 0 To UBound(groupes)
unite = Val(Mid(groupes(j), 3, 1))
dix = Val(Mid(groupes(j), 2, 1))
If dix = 1 Or dix = 7 Or dix = 9 Then
dix = dix - 1
unite = unite + 10
End If
cent = Val(Mid(groupes(j), 1, 1))
chaine = centaines(cent) & " " & dizaines(dix) & " " & unites(unite) & " " & lettres(j) & " " & chaine
Next
somlet2 = chaine
End If
End Function
=========================================

le code n'est pas de moi, je viens de le trouver sur ce site, je l'ai un peu modifier .... un forum ne sert pas qu'à poser son blème, il permet aussi de trouver la solution, si on se donne la peine de chercher bien sûr ...

bon courage

;o)

Répondre à Polux31

5

Reivax962, le 19 oct 2007 à 10:57:53

Bonjour,

A vue d'oeil, ce code n'est tout de même pas parfait.
Par exemple, 471 sera traduit "quatre cents soixante dix un".
Outre la mauvaise orthographe de "quatre cents" qui devrait s'écrire "quatre-cent", le "soixante dix un" est assez problématique...
Bref, le français n'est pas adapté à ce genre d'exercice, à moins d'utiliser les chiffres belges (septante / nonante)

Xavier

Répondre à Reivax962

6

Polux31, le 19 oct 2007 à 11:20:37
  • +1

En regardant de plus près, Xavier, tu aurais remarqué ce petit bout de code :

If dix = 1 Or dix = 7 Or dix = 9 Then
dix = dix - 1
unite = unite + 10
End If

Il règle le problème. 471 sera bien traduit quatre cents soixante et onze ....

Ceci dit, et comme je l'ai signalé, ce code se trouve ce site. Je ne dis pas qu'il est parfait, il y a sans doute mieux mais il a le mérite d'exister et de répondre à la demande.
Quant à l'orthographe de 400 il est vrai que cent ne prend pas de S. il suffit donc de le supprimer dans le code... mais ça s'écrit bien quatre cent et non quatre-cent comme tu le dis : http://www.leconjugueur.com/frlesnombres.php.

;o)

Répondre à Polux31

7

 Reivax962, le 19 oct 2007 à 13:25:17

Effectivement, j'ai lu un peu vite, désolé ^^

Répondre à Reivax962
Collection CommentÇaMarche.net