Logiciels - Creer son logiciel - Convertir chiffre en lettre -

Creer son logiciel - Convertir chiffre en lettre

( Temps de lecture estimé à 1 min 57 sec )




CONVERTIR UN NOMBRE EN LETTRES


JSCOP nous livre ici un tutoriel pour convertir un nombre en lettre en s 'inspirant de routines JAVA.

'D 'après une routine java par GALA OUSSE Brice

' ****************************************Comment utiliser cette routine ****************************************
'1- Sauvegardez le fichier sous un nom indifférent.
'2- Copiez le fichier sauvegardé dans les modules de votre programme Gambas.
'3- Lorsque vous avez besoin d 'une conversion de ce type dans vos programmes, appelez la routine en lui passant comme valeur le montant à convertir.
'NB: Cette fonction gère les nombres jusqu 'à 999999. On peut aisément adapter le programme pour aller au-delà.
'Cette fonction ne gère pas les décimales, il faut donc les gérer en amont.
'Voici çi-dessous un exemple d 'utilisation.
'DIM c AS String
'DIM c2 AS String
'DIM c3 AS String
'DIM ipos AS Integer
'c = 4589,23
'c3 = c ' On recupère les décimales si besoin
'iPos = InStr(c3, , )
'IF ipos <> 0 THEN
' c3 = Right$­­(c3, 2)
' c3 = numtostring.nbtostring(c3)
'ENDIF

'c = Left$­­(c, iPos - 1) 'On recupère les entiers
'c = numtostring.nbtostring(c)

'éventuellement on met la monnaie.
'IF NOT IsNull(c3) THEN
' c = c & Euros et & c3 & centimes
'ELSE
' c = c & Euros
'ENDIF

'****************************************Début du programme************************************
PUBLIC FUNCTION unite(nombre AS Integer) AS String
DIM unite AS String
SELECT CASE nombre
CASE 0
unite = zéro
CASE 1
unite = un
CASE 2
unite = deux
CASE 3
unite = trois
CASE 4
unite = quatre
CASE 5
unite = cinq
CASE 6
unite = six
CASE 7
unite = sept
CASE 8
unite = huit
CASE 9
unite = neuf
END SELECT
RETURN unite

END

PUBLIC SUB Dizaine(nombre AS Integer) AS String
DIM dizaine AS String
SELECT CASE nombre
CASE 10
dizaine = dix
CASE 11
dizaine = onze
CASE 12
dizaine = douze
CASE 13
dizaine = treize
CASE 14
dizaine = quatorze
CASE 15
dizaine = quinze
CASE 16
dizaine = seize
CASE 17
dizaine = dix-sept
CASE 18
dizaine = dix-huit
CASE 19
dizaine = dix-neuf
CASE 20
dizaine = vingt
CASE 30
dizaine = trente
CASE 40
dizaine = quarante
CASE 50
dizaine = cinquante
CASE 60
dizaine = soixante
CASE 70
dizaine = soixante-dix
CASE 80
dizaine = quatre-vingt
CASE 90
dizaine = quatre-vingt-dix
END SELECT
RETURN dizaine
END

PUBLIC SUB nbtostring(nombre AS String) AS String
DIM nb2, nb3, nbtolet AS String
DIM quotient, reste AS Float
DIM nb, ipos AS Integer
IF Len(nombre) > 15 THEN RETURN
IF InStr( 0123456789,. , nombre) = 1 THEN RETURN
iPos = InStr(nombre, , )
IF ipos <> 0 THEN
nombre = Format$­­(nombre, #########0.00 )
nb2 = Left$­­(nombre, iPos - 1)
ELSE
nb2 = nombre
ENDIF
nb = Val(nb2)
SELECT CASE Len(nb2)
CASE 1
nbtolet = unite(nb)
CASE 2
IF nb > 19 THEN
quotient = nb2 / 10
iPos = InStr(Str(quotient), , )
IF ipos <> 0 THEN quotient =
END IF
END
);



Date de creation :
Redacteur : Rédigé par spheris
Classé dans : Logiciels