Nombre en lettre, Y a t-il un outil en RPG

Fermé
Philippe - 16 juin 2004 à 11:59
 Jerome - 16 févr. 2007 à 15:55
Bonjour,
Je recherche un outil ou le code en RPG pout transformer un nombre en lettre (avec les accords svp).
ex : 151,10 euros donne 'cent cinquante et un euros et dix centimes'

5 réponses

rucht Messages postés 245 Date d'inscription jeudi 27 mai 2004 Statut Membre Dernière intervention 18 juillet 2008 1
16 juin 2004 à 15:11
lol

qq 'un connait ce langage le " RPG " ?

rucht ( qui ce pose des question )
0
pi€rre Messages postés 76 Date d'inscription mercredi 9 juin 2004 Statut Membre Dernière intervention 13 octobre 2005
16 juin 2004 à 15:20
0
dje-dje Messages postés 10415 Date d'inscription mardi 6 janvier 2004 Statut Modérateur Dernière intervention 28 janvier 2011 755
16 juin 2004 à 15:22
Moi aussi, mais ce sont des formations payantes. les autres liens arrivent tres vite sur les JDR...

a+
dje-dje

Il y a 10 types de personne dans le monde,
ceux qui comprennent le binaire et les autres
0
pi€rre Messages postés 76 Date d'inscription mercredi 9 juin 2004 Statut Membre Dernière intervention 13 octobre 2005
16 juin 2004 à 15:24
Créé par IBM dans les années soixante pour faciliter la programmation d'applications simples et sans cesse perfectionné depuis son lancement, le langage RPG (Report Program Generator) est le langage de programmation le plus utilisé sur les petits et moyens systèmes IBM. Ses deux dernières versions, RPG/400 et RPG IV, correspondent au système d'exploitation 0S 400 et permettent le traitement des fichiers de la base de données. La première partie de l'ouvrage décrit le langage et son évolution ; la seconde est consacrée au langage RPG IV et à son environnement applicatif.

toujours d'aprés google:
http://www.eyrolles.com/Accueil/Livre/9782225850158/livre-les-langages-rpg-400-et-rpg-iv.php?xd=3e99230af0f3ca0018c07b8f450ab866
0
rucht Messages postés 245 Date d'inscription jeudi 27 mai 2004 Statut Membre Dernière intervention 18 juillet 2008 1
16 juin 2004 à 15:27
moi je pence qu 'il avez une idee deriere la tete en l' appelen ansi !

les programeur on toujour des idee louche deriere la tete !

rucht ( les MJ aussi ... )
0
pro6859 Messages postés 1 Date d'inscription mercredi 16 juin 2004 Statut Membre Dernière intervention 16 juin 2004
16 juin 2004 à 15:56
De la part de Philippe.
Vous m'avez bien plombé ma question.
Je demande de nouveau aux spécialistes.
Cordialement à tous.
0
dje-dje Messages postés 10415 Date d'inscription mardi 6 janvier 2004 Statut Modérateur Dernière intervention 28 janvier 2011 755
16 juin 2004 à 17:04
Excuses-nous stp, on est encore tres gamin :-)
Bonne chance pour ta réponse (Tu devrais y voir plus clair les modos ont fait du ménage)

a+
dje-dje

Il y a 10 types de personne dans le monde,
ceux qui comprennent le binaire et les autres
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Salut!

Tiens voici le code pour réecrire un nombre en lettre...
A toi de l'adapter au français...

Rewrite this later
E AR$ 11 1 ALPHA AMOUNT
E W 20 9 ARRAY OF WORDS
E X 7 19 9 WORDS 1 TO 19
E Y 7 8 9 WORDS 20 TO 90
E MISC 7 10 9 MISC. WORDS
E WORK 9 1 WORK ARRAY
E AMT 150 1 RESULT ARRAY
*
* PARAMETERS: LIMIT = WORD LENGTH LIMIT (MAXIMUM 150),
* CHK$ = CHECK AMOUNT TO CONVERT (MAXIMUM 999,999,999.99),
* VALUE = SPELLED AMOUNT RETURNED TO CALLING PROGRAM, ERROR =
* ERROR FLAG WHEN SPELLED AMOUNT EXCEEDS LIMIT.
*
C *ENTRY PLIST
C PARM LIMIT 30 MAX: 150
C PARM CHK$ 112 999,999,999.99
C PARM VALUE 150 RETURN VALUE
C PARM ERROR 1 ERROR FLAG
*
* CONVERT CHECK AMOUNT TO POSITIVE, IF NECESSARY
*
C CHK$ IFLT 0
C Z-SUBCHK$ CHK$2 112
C ELSE
C Z-ADDCHK$ CHK$2
C END
*
* TRANSLATE CHECK AMOUNT INTO WORDS
*
C MOVEA'00' *IN,06
C MOVE *BLANKS WORDS 4
C MOVE *BLANKS ERROR
*
C WORDS DOUEQ'QUIT'
C MOVE *BLANKS AMT
C MOVE *BLANKS W
C MOVE CHK$2 CHK$A 11
C MOVEACHK$A AR$
C Z-ADD1 I 30
*
C CHK$2 IFGE 1000000 OVER $1,000,000
C MOVEAAR$,1 A03 3
C EXSR SUBN30
C MOVE MISC,2 W,I
C ADD 1 I
C END CHK$2>=1000000
*
C MOVEAAR$,4 A03 OVER $1,000
C MOVE A03 N30
C N30 IFNE 0
C EXSR SUBN30
C MOVE MISC,3 W,I
C ADD 1 I
C END N30 IFNE 0
*
C MOVEAAR$,7 A03 LESS THAN $1000
C MOVE A03 N30
C N30 CASNE*ZEROS SUBN30
C END
*
C CHK$2 IFLT 1 UNDER A BUCK
C MOVE MISC,4 W,I
C ADD 1 I
C END CHK2$ IFLT 1
*
C MOVE MISC,5 W,I ADD "DOLLARS
C ADD 1 I AND"
C *IN07 IFEQ '0'
C MOVE MISC,6 W,I
C ELSE
C MOVE MISC,10 W,I
C END *IN07 IFEQ '0'
C ADD 1 I
*
C MOVEAAR$,10 A02 2 PROCESS CENTS
C MOVE A02 N20
C N20 IFEQ *ZEROS
C MOVE MISC,4 W,I
C ADD 1 I
C ELSE
C *IN06 IFEQ '0'
C EXSR SUBN20
C ELSE
C MOVELA02 W,I
C ADD 1 I
C END *IN06 IFEQ '0'
C END N20 IFEQ *ZERO
C N20 IFNE 01
C MOVE MISC,7 W,I
C ELSE
C MOVE MISC,8 W,I
C END N20 IFNE 01
C ADD 1 I
*
C CHK$ IFLT 0 NEGATIVE AMOUNT
C MOVE MISC,9 W,I
C END CHK$ IFLT 0
*
C Z-ADD1 I COMPRESS ARRAY
C Z-ADD1 J 30 W
*
C I DOWLE19
C MOVEAW,I WORK
C Z-ADD1 K 20
C ' ' LOKUPWORK,K 05
C *IN05 IFEQ '0'
C Z-ADD10 K
C END
C MOVEAWORK AMT,J
C ADD K J
C ADD 1 I
C W,I IFEQ *BLANKS
C Z-ADD20 I
C END
*
C END I DOWLE 19
*
* IS THE RESULTANT CHARACTER STRING TOO LONG? IF YES,
* TRY TO SHORTEN IT.
*
C J IFGT LIMIT
*
* IF *IN07 IS ON, STRING IS TOO LONG. EXIT WITH ERROR.
*
C *IN07 IFEQ '1'
C MOVE 'QUIT' WORDS
C MOVE 'Y' ERROR
C END
*
* IF *IN06 IS ON, RETRY SHORTENING STRING.
*
C *IN06 IFEQ '1'
C MOVE '1' *IN07
C END
C MOVE '1' *IN06
C ELSE
C MOVE 'QUIT' WORDS
C END J IFGT LIMIT
*
C END WORDS LOOP
*
* SETON LAST RECORD LE
*
C MOVE *BLANKS VALUE
C ERROR IFNE 'Y'
C MOVEAAMT VALUE
C END
*
C MOVE '1' *INLR
*
* SUBROUTINE TO TRANSLATE THE TWO RIGHT DIGITS OF EACH DIGIT
* TRIAD TO ITS SPELLED-OUT EQUIVALENT.
*
*
CSR SUBN20 BEGSR
C N20 IFGE 20
C MOVELN20 N10
C SUB 1 N10
C MOVE Y,N10 W,I
C ADD 1 I
C MOVE N20 N10
C N10 IFNE 0
C MOVE X,N10 W,I
C ADD 1 I
C END N10 IFNE 0
C ELSE
C N20 IFNE 0
C MOVE X,N20 W,I
C ADD 1 I
C END N20 IFNE 0
C END N20 IFGE 20
CSR ENDSR
*
* SUBROUTINE TO TRANSLATE THE LEFTMOST DIGIT OF A TRIAD TO
* ITS WORD QUIVALENT AND STORE THE TWO RIGHTMOST DIGITS OF
* THE TRIAD IN VARIABLE N20 FOR SUBSEQUENT PROCESSING.
*
CSR SUBN30 BEGSR
C MOVE A03 N30 30
C MOVELA03 N10 10
C MOVE A03 N20 20
C N10 IFNE 0
C MOVE X,N10 W,I
C ADD 1 I
C MOVE MISC,1 W,I
C ADD 1 I
C END N10 IFNE 0
C EXSR SUBN20
CSR ENDSR
*
* WORD ARRAYS
*
**
ONE TWO THREE FOUR FIVE SIX SEVEN
EIGHT NINE TEN ELEVEN TWELVE THIRTEEN FOURTEEN
FIFTEEN SIXTEEN SEVENTEENEIGHTEEN NINETEEN
**
TWENTY THIRTY FORTY FIFTY SIXTY SEVENTY EIGHTY
NINETY
**
HUNDRED MILLION, THOUSAND,NO DOLLARS AND CENTS
CENT CR &



Jerome

bon courage et a plus
0