WIDGETS GAMBAS
LOGICIELS GAMBAS 3
TUTORIELS
VISITES

   visiteurs

   visiteur en ligne

Où ça, qui ça?
Creer son logiciel - Convertir chiffre en lettre
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 création : 21/11/2009 @ 22:16
Dernière modification : 21/11/2009 @ 22:16
Catégorie : Creer son logiciel
Page lue 3562 fois


Imprimer l'article Imprimer l'article


react.gifRéactions à cet article


Réaction n°1 

par Jack le 25/11/2009 @ 10:32

Ce programme est incomplet donc inutilisable. J'aimerai envoyer un autre fichier à Spheris mais je ne sais pas comment faire car il ne reçoit pas les mails que je lui envoie.

ACCES RAPIDE
RECHERCHE




LOGICIELS GAMBAS 2
LES INSTRUCTIONS
LES COMPOSANTS
Divers

^ Haut ^