A lo mejor esto te puede servir
************
* Comentarios : conversion de numeros a letras
* Fecha : 9:30:31 9/13/1989
* Modificado : Martin Ibarra Romero
*
* Entrada
* x_numero = cantidad a convertir
* tipo = "N" para pesos y en otro caso dolares
* salida
* leyenda
* ejemplo:
* mensaje=num_
*
FUNCTION num_let
PARAMETERS x_numero
PRIVATE leyenda, alfa, N, x, l
* asignacion de leyendas
ciento9 = "NOVECIENTOS "
ciento8 = "OCHOCIENTOS "
ciento7 = "SETECIENTOS "
ciento6 = "SEISCIENTOS "
ciento5 = "QUINIENTOS "
ciento4 = "CUATROCIENTOS "
ciento3 = "TRESCIENTOS "
ciento2 = "DOSCIENTOS "
ciento1 = "CIENTO "
cien = "CIEN "
ciento0 = ''
*
decenta9 = "NOVENTA "
decenta8 = "OCHENTA "
decenta7 = "SETENTA "
decenta6 = "SESENTA "
decenta5 = "CINCUENTA "
decenta4 = "CUARENTA "
decenta3 = "TREINTA "
decenta0 = ''
* RAROS
quince = "QUINCE "
catorce = "CATORCE "
trece = "TRECE "
doce = "DOCE "
once = "ONCE "
*
unidad9 = "NUEVE "
unidad8 = "OCHO "
unidad7 = "SIETE "
unidad6 = "SEIS "
unidad5 = "CINCO "
unidad4 = "CUATRO "
unidad3 = "TRES "
unidad2 = "DOS "
unidad1 = "UN "
unidad0 = ''
unidad00 = ''
unidad09 = "NUEVE "
unidad08 = "OCHO "
unidad07 = "SIETE "
unidad06 = "SEIS "
unidad05 = "CINCO "
unidad04 = "CUATRO "
unidad03 = "TRES "
unidad02 = "DOS "
unidad01 = "UN "
unidad10 = "DIEZ "
unidad11 = "ONCE "
unidad12 = "DOCE "
unidad13 = "TRECE "
unidad14 = "CATORCE "
unidad15 = "QUINCE "
unidad16 = "DIECISEIS "
unidad17 = "DIECISIETE "
unidad18 = "DIECIOCHO "
unidad19 = "DIECINUEVE "
unidad20 = "VEINTE "
unidad21 = "VEINTIUN "
unidad22 = "VEINTIDOS "
unidad23 = "VEINTITRES "
unidad24 = "VEINTICUATRO "
unidad25 = "VEINTICINCO "
unidad26 = "VEINTISEIS "
unidad27 = "VEINTISIETE "
unidad28 = "VEINTIOCHO "
unidad29 = "VEINTINUEVE "
IF x_numero<=0
leyenda="(CERO PESOS 00/100 M.N.)"
ELSE
xcentavos=(x_
* xcentavos=SUBSTR(
xcentavos=strzero(
x_numero =INT(x_numero)
leyenda = "("
alfa = ALLTRIM(STR(
l = LEN(alfa)
DO WHILE .T.
DO CASE
CASE l = 19
x = SUBSTR(alfa,
IF x="1" .AND. SUBSTR(alfa,
leyenda = leyenda + cien + "MILLONES "
N = 3
ELSE
IF SUBSTR(alfa,
leyenda = leyenda + ciento&x + "MILLONES "
N = 3
ELSE
leyenda = leyenda + ciento&x
N = 1
ENDIF
ENDIF
*
CASE l = 18
x = SUBSTR(alfa,
IF x > "00" .AND. x < "30"
leyenda = leyenda + unidad&x + "MILLONES "
ELSE
x = SUBSTR(alfa,
leyenda = leyenda + decenta&x
IF SUBSTR(alfa,
leyenda = leyenda + "Y "
x = SUBSTR(alfa,
leyenda = leyenda + unidad&x + "MILLONES "
ELSE
leyenda = leyenda + "MILLONES "
ENDIF
ENDIF
N = 2
*
CASE l = 17
x = SUBSTR(alfa,
IF leyenda = "(" .AND. x="1"
leyenda = leyenda + unidad&x + "MILLON "
ELSE
leyenda = leyenda + unidad&x + "MILLONES "
ENDIF
N = 1
*
CASE l = 16
x = SUBSTR(alfa,
IF x = "1" .AND. SUBSTR(alfa,
leyenda = leyenda + cien + "MIL "
N = 3
ELSE
IF x <> "0" .AND. SUBSTR(alfa,
leyenda = leyenda + ciento&x + "MIL "
N = 3
ELSE
leyenda = leyenda + ciento&x
N = 1
ENDIF
ENDIF
*
CASE l = 15
x = SUBSTR(alfa,
IF x > "00" .AND. x < "30"
leyenda = leyenda + unidad&x + "MIL "
ELSE
x = SUBSTR(alfa,
leyenda = leyenda + decenta&x
IF SUBSTR(alfa,
leyenda = leyenda + "Y "
x = SUBSTR(alfa,
leyenda = leyenda + unidad&x
ENDIF
IF SUBSTR(alfa,
leyenda = leyenda + "MIL "
ENDIF
ENDIF
N = 2
*
CASE l = 14
x = SUBSTR(alfa,
leyenda = leyenda + unidad&x + "MIL "
N = 1
*
CASE l = 13
x = SUBSTR(alfa,
IF x = "1" .AND. SUBSTR(alfa,
leyenda = leyenda + cien
N = 3
ELSE
leyenda = leyenda + ciento&x
N = 1
ENDIF
*
CASE l = 12
x = SUBSTR(alfa,
IF x > "00" .AND. x < "30"
leyenda = leyenda + unidad&x
ELSE
x = SUBSTR(alfa,
leyenda = leyenda + decenta&x
IF SUBSTR(alfa,
leyenda = leyenda + "Y "
x = SUBSTR(alfa,
leyenda = leyenda + unidad&x
ENDIF
ENDIF
N = 3
CASE l = 11
x = SUBSTR(alfa,
leyenda = leyenda + unidad&x
N = 1
*
ENDCASE
alfa = SUBSTR(alfa,
l = LEN(alfa)
IF LEN(alfa)==0
EXIT
ENDIF
ENDDO
leyenda = leyenda + " PESOS " + xcentavos + "/100 M.N.)"
ENDIF
RETURN (leyenda)
De: usuarios_fox@
En nombre de Arturo Zamudio
Enviado el: lunes, 21 de septiembre de 2009 11:46 a.m.
Para: zorrosmexicanos@
Asunto: [usuarios_fox] Consulta
Antes que nada, que tengan un estupendo inicio de semana tod@s.
Soy autodidacta en el visual fox, y checando en la pagina de portalfox.com,
encontre una función para convertir numeros a letras, pero no se como
utilizarla. Alguien podria orientarme en ese tema??
Muchas gracias por la atención prestada
Arturo Zamudio
Morelia, Mich
Mexico
[Se han eliminado los trozos de este mensaje que no contenían texto]
[Se han eliminado los trozos de este mensaje que no contenían texto]
Modificar la configuración mediante la Web (ID de Yahoo! obligatoria)
Modificar la configuración mediante el correo: Cambiar a resumen diario | Cambiar el formato a Tradicional
Visita tu grupo | Condiciones de uso de Yahoo! Grupos | Cancelar suscripción
Nenhum comentário:
Postar um comentário