¿Alguien puede mandarme un formulario para convertir de número a letras con Visual FoxPro?

Alguien puede mandarme un ejemplo con un formulario o subirlo a internet.. Mi correo es [email protected]
Gracias de antemano

1 Respuesta

Respuesta
1
*te envio la funcios que utilizo en mis proyectos
*forma de uso***  numlet(numero_convertir)    ********numlet(350000)
** espero que califiques la pregunta
function numlet
parameters nmreci
* cantidad : la cantidad a ser convertida m ximo 12 caracteres
private telt,numerov
numerov=0
telt=""
numerov=nmreci
if numerov=0
telt="cero pesos"
endif
enterov=int(numerov)
n = ""
n1 = "un"
n2 = "dos"
n3 = "tres"
n4 = "cuatro"
n5 = "cinco"
n6 = "seis"
n7 = "siete"
n8 = "ocho"
n9 = "nueve"
n10 = "diez"
n11 = "once"
n12 = "doce"
n13 = "trece"
n14 = "catorce"
n15 = "quince"
n16 = "dieciseis"
n17 = "diecisiete"
n18 = "dieciocho"
n19 = "diecinueve"
n20 = "veinte"
n30 = "treinta"
n40 = "cuarenta"
n50 = "cincuenta"
n60 = "sesenta"
n70 = "setenta"
n80 = "ochenta"
n90 = "noventa"
if enterov <> 100
n100 = "ciento"
endif
if enterov = 100
n100="cien"
endif
n200 = "doscientos"
n300 = "trescientos"
n400 = "cuatrocientos"
n500 = "quinientos"
n600 = "seiscientos"
n700 = "setecientos"
n800 = "ochocientos"
n900 = "novecientos"
contador = 1
inicio = 1
cadena = str(enterov,9)
nump = " "
do while contador < 4
subcadena = substr(cadena,inicio,3)
centena = substr(subcadena,1,1)+"00"
decena = substr(subcadena,2,2)
unidad = substr(subcadena,3,1)
if val(subcadena) > 99
nump = nump + n&centena + " "
endif (subcadena > 99)
t = val(decena)
if t > 0
do case
case (int(t/10.0) = t/10.0) .or. (t > 9 .and. t <20)
nump = nump + n&decena
case t > 9 .and. (int(t/10.0) # t/10.0)
decena = substr(decena,1,1) + "0"
if decena # "20"
nump = nump + n&decena + " y " + n&unidad
else
nump = nump + "venti" +n&unidad
endif
case t < 10
nump = nump + n&unidad
endcase
endif (t > 0)
if enterov > 999999 .and. contador = 1
nump = nump + " millones "
endif
if nump = " uno millones "
nump = " un millon "
endif
if enterov > 999 .and. contador = 2 .and. val(subcadena) > 0
nump = nump + " mil "
endif
if nump = " uno mil "
nump = " un mil "
endif
inicio = contador * 3 + 1
contador = contador + 1
enddo
centav = (nmreci  - int(nmreci ))
centav = round((centav*100),0)
centav = int(centav)
centav = str(centav,2)
centav = strtran(centav," ","0")
if numerov-enterov> 0
  nump =  nump + " pesos" + " con "
***************************************
n = ""
enterov=val(centav)
contador = 1
inicio = 1
cadena = str(enterov,9)
do while contador < 4
subcadena = substr(cadena,inicio,3)
centena = substr(subcadena,1,1)+"00"
decena = substr(subcadena,2,2)
unidad = substr(subcadena,3,1)
if val(subcadena) > 99
nump = nump + n&centena + " "
endif (subcadena > 99)
t = val(decena)
if t > 0
do case
case (int(t/10.0) = t/10.0) .or. (t > 9 .and. t <20)
nump = nump + n&decena
case t > 9 .and. (int(t/10.0) # t/10.0)
decena = substr(decena,1,1) + "0"
if decena # "20"
nump = nump + n&decena + " y " + n&unidad
else
nump = nump + "venti" +n&unidad
endif
case t < 10
nump = nump + n&unidad
endcase
endif (t > 0)
if enterov > 999999 .and. contador = 1
nump = nump + " millones "
endif
if nump = " uno millones "
nump = " un millon "
endif
if enterov > 999 .and. contador = 2 .and. val(subcadena) > 0
nump = nump + " mil "
endif
if nump = " uno mil "
nump = " un mil "
endif
inicio = contador * 3 + 1
contador = contador + 1
enddo
nump=nump+" centavos"
*********************************************
 else
nump =  nump +" pesos"
endif
telt=nump
return telt

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas