Donnez votre avis..
INTERFACE GAMBAS
LOGICIELS GAMBAS 3
TUTORIELS
=Bibliothèque
|
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 Réactions à cet article
| ACCES RAPIDE
RECHERCHE
LES INSTRUCTIONS
LES COMPOSANTS
Divers
INSTRUCTIONS
Où ça, qui ça?
VISITES
visiteurs visiteurs en ligne ARCHIVES GAMBAS 1/2
|