Share your opinion
WIDGETS GAMBAS
GAMBAS 3 SOFTWARES
TUTORIALS
Library
|
Create software - Convert number to letters
French only sorry
'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 = Creation date : 21/11/2009 @ 22:16 Reactions to this article
| QUICK MENU
SEARCH
LANGUAGE
COMPONENTS
Other
LANGUAGE
Where, who?
VISITS
visitors visitors online ARCHIVES GAMBAS 1/2
|