Ejemplo:
1= primero
2= segundo
...
33=Trigesimo Tercero
...
Espero que les ayude esta rutina como me ayudo a mi.
Atte
Victor Jose Gil Salcedo
************************************ FUNCTION Numero2Ordinal(tnNro) IF NOT BETWEEN(tnNro,1,999) RETURN "ERROR" ENDIF LOCAL lnEnt, lcRet, lnUni, lnDec, lnCen lnEnt = INT(tnNro) lcRet = '' lcRet = '' lnUni = MOD(lnEnt,10) lnEnt = INT(lnEnt/10) lnDec = MOD(lnEnt,10) lnEnt = INT(lnEnt/10) lnCen = MOD(lnEnt,10) DO CASE CASE lnUni = 1 lcRet = 'primero' CASE lnUni = 2 lcRet = 'segundo' CASE lnUni = 3 lcRet = 'tercero' CASE lnUni = 4 lcRet = 'cuarto' CASE lnUni = 5 lcRet = 'quinto' CASE lnUni = 6 lcRet = 'sexto' CASE lnUni = 7 lcRet = 'séptimo' CASE lnUni = 8 lcRet = 'octavo' CASE lnUni = 9 lcRet = 'noveno' ENDCASE DO CASE CASE lnDec = 1 lcRet = 'décimo ' + lcRet CASE lnDec = 2 lcRet = 'vigésimo ' + lcRet CASE lnDec = 3 lcRet = 'trigésimo ' + lcRet CASE lnDec = 4 lcRet = 'cuadragésimo ' + lcRet CASE lnDec = 5 lcRet = 'quincuagésimo ' + lcRet CASE lnDec = 6 lcRet = 'sexagésimo ' + lcRet CASE lnDec = 7 lcRet = 'septuagésimo ' + lcRet CASE lnDec = 8 lcRet = 'octogésimo ' + lcRet CASE lnDec = 9 lcRet = 'nonagésimo ' + lcRet ENDCASE DO CASE CASE lnCen = 1 lcRet = 'centésimo ' + lcRet CASE lnCen = 2 lcRet = 'ducentésimo ' + lcRet CASE lnCen = 3 lcRet = 'tricentésimo ' + lcRet CASE lnCen = 4 lcRet = 'cuadrigentésimo ' + lcRet CASE lnCen = 5 lcRet = 'quingentésimo ' + lcRet CASE lnCen = 6 lcRet = 'sexacentésimo ' + lcRet CASE lnCen = 7 lcRet = 'septingentésimo ' + lcRet CASE lnCen = 8 lcRet = 'octingentésimo ' + lcRet CASE lnCen = 9 lcRet = 'Nonigentésimo ' + lcRet ENDCASE RETURN lcRet ENDFUNC ***********************************
No hay comentarios. :
Publicar un comentario
Los comentarios son moderados, por lo que pueden demorar varias horas para su publicación.