# Con Velneo V7 es muy fácil convertir números a letras.  Descripción como se hace

**URL:** <https://foros.velneo.com/t/con-velneo-v7-es-muy-facil-convertir-numeros-a-letras-descripcion-como-se-hace/5477>\
**Category:** Velneo\
**Created:** [5 Septiembre, 2012 04:21 UTC](https://foros.velneo.com/t/con-velneo-v7-es-muy-facil-convertir-numeros-a-letras-descripcion-como-se-hace/5477 "2012-09-05T04:21:17Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![agsgallardo.hotmail](https://avatars.discourse-cdn.com/v4/letter/a/ba9def/32.png) [@agsgallardo.hotmail](https://foros.velneo.com/u/agsgallardo.hotmail)\
**Post date:** [5 Septiembre, 2012 04:21 UTC](https://foros.velneo.com/t/con-velneo-v7-es-muy-facil-convertir-numeros-a-letras-descripcion-como-se-hace/5477/1 "2012-09-05T04:21:17Z")

</div>

Se crea una Array con el nombre VLA\_LETRAS con Dimensiones 50 y se introducen los textos

Formula de composición del 1 al 29  
Formula de dato los textos desde el UNO al VEINTINUEVE  
Formula de composición del 33 al 39  
Formula de dato los textos desde el TREINTA al NOVENTA  
Formula de composición del 41 al 49  
Formula de dato los textos desde el CIENTO al NOVECIENTOS

Se crean las variables locales: VLA\_LETRAS, VLA\_TEXTO, VLN\_IMPORTE, VLN\_ENTEROS, VLN\_DECIMAL, VLN\_CANTIDAD, VLN\_PRIMERO y VLN\_RC (A las variables les asigno VLx , V=Variable, L=Local, A=Alfa, N=Numérica, F=Fecha, B=Booleana). Cada uno puede ponerle a las variables el nombre que quiera.

Al proceso se le envía. Set variable local de objeto(Convertir, VLN\_IMPORTE,(Importe a convertir) y el Proceso devolverá la variable para el Get del Formulario, Informe o Proceso, la variable VLA\_TEXTO con el texto del importe convertido en letras.

Para los Informes se puede hacer de dos formas. Una llamado a un Procesador previo que hará  
la llamada al Proceso de convertir números a letras y a continuación hará la llamada al Informe (Enviando el texto en una variable). O desde el Informe utilizando una Función que devolverá una variable con el texto directamente al Informe.

Proceso: La primera palabra puede ser VLA\_TEXTO = “ MENOS “ en caso del que el importe sea negativo, el importe se convierte en positivo (VLN\_IMPORTE = 0-VLN\_IMPORTE) y se le asigna a la variable VLN\_ENTEROS la parte entera y VLN\_DECIMAL la parte decimal. El Proceso de muestra puede convertir de números a letras importes hasta 999.999.999.999,99 positivo o negativo y no tiene límite pero es absurdo crear un recibo de miles de billones.

La fórmula para la parte entera es coger bloques de 3 dígitos asignándolos a la variable VLN.CANTIDAD.  
Del 10 al 12 para MIL o MILES, del 7 al 9 para MILLÓN o MILLONES, del 4 al 6 para MIL o MILES  
y del 1 al 3 para importes de 0 a 999.

La manera de convertir en texto los 4 bloques de enteros y el bloque decimales es la misma. Solo se le tiene que concatenar en la cola el texto MIL o MILES o MILLÓN o MILLONES o CENTIMOS. Antes de los céntimos se concatena la palabra EURO o EUROS si es mayor de 1.  
(Se puede enviar la variable VLA.MONEDAS y VLA.MONEDAP (Singular y Plural) DÓLAR y DOLARES y concatenarla en vez de la palabra EURO o EUROS)

Se pueden crear varias Arrays en distintos idiomas y el texto aparecerá traducido.

Composición del texto:  
If VLN\_CANTIDAD = 100 Set VLA\_TEXTO = VLA\_TEXTO + “ CIEN”  
If VLN\_CANTIDAD \> 100 Set VLN\_PRIMERO = left(VLN\_CATIDAD,1)  
VLN\_RC = VLN\_PRIMERO + 40  
(Si es un 3 pondrá TRESCIENTOS) VLA\_TEXTO = VLA\_TEXTO + “ “ + VLA\_LETRAS[VLN\_RC] Asignar 2 dígitos a VLN\_CANTIDAD Set VLN\_CANTIDAD = right(VLN\_CANTIDAD,2)

If VLN\_CANTIDAD = 21 Set VLA\_TEXTO = VLA\_TEXTO + “ VEINTIÚN”  
If (VLN\_CANTIDAD 9) & (VLN-CANTIDAD ¡ 21) Set VLN\_RC = left(VLN\_CANTIDAD,2)  
VLA\_TEXTO = VLA\_TEXTO + “ “ + VLA\_LETRAS[VLN\_RC]  
Asignará el texto del 10 al 29  
If (VLN\_CANTIDAD \> 29) Set VLN\_PRIMERO = left(VLN\_CANTIDAD,1)  
VLN\_RC = VLN\_PRIMERO + 30  
(Si es un 5 pondrá CINCUENTA) VLA\_TEXTO = VLA\_TEXTO + “ “ + VLA\_LETRAS[VLN\_RC]  
Asignar 1 dígito a VLN\_CANTIDAD Set VLN\_CANTIDAD = right(VLN\_CANTIDAD,1)

If (VLN\_CANTIDAD \> 0) Set VLA\_TEXTO = VLA\_TEXTO + “ Y”  
Set VLN\_RC = VLN\_CANTIDAD  
Asignará el texto del 1 al 9 Set VLA\_TEXTO = VLA\_TEXTO + “ “ + VLA\_LETRAS[VLN\_RC]  
A continuación se le concatena la palabra MIL o MILES o MILLÓN o MILLONES o CENTIMOS.

La Array puede estar en mayúsculas o minúsculas y convertirla en la que interese.  
Para el importe en femenino ejemplo LIBRA se cambia el UN por UNA y desde VEINTE a NOVENTA por VEINTIUNA a NOVENTA Y UNA. O se crean dos Procesos copiando uno a otro.

Se pueden hacer pruebas en Proyectos que funcionan correctamente

Conexión desde el Vcliente 7.9.0.10328  
Servidor: vatp://80.37.231.236  
Usuario: voasi  
Contraseña: (Sin contraseña)

En todos los menús está en Acciones de la toolbar la número 10 de izquierda a derecha con un dibujo sicopático (Si se pone el ratón encima aparece la palabra Vencimientos). Es un pequeño formulario que calcula vencimientos y muestra el importe introducido en mayúsculas y minúsculas. Para el cálculo del vencimiento se pueden asignar 1, 2, 3, 10, 100, 1000 o más aplazamientos con 2 días de pago y vacaciones. Para recibos a final de mes asignar como día de pago el día 31. El proceso asignará el día 28 para Febrero o 29 si es bisiesto y 30 para los meses de 30 y 31 para los meses de 31 días.

La primera carga es lenta. La cajas de Velneo ocupan unos 60 MB.

Espero que os sea útil, un saludo

Adolfo Gallardo Sánchez  
[oasi@sysoasi.com](mailto:oasi@sysoasi.com)

---

<div class="post-metadata">

**Author:** ![benito.lavandeira](https://avatars.discourse-cdn.com/v4/letter/b/439d5e/32.png) [@benito.lavandeira](https://foros.velneo.com/u/benito.lavandeira)\
**Post date:** [5 Septiembre, 2012 08:25 UTC](https://foros.velneo.com/t/con-velneo-v7-es-muy-facil-convertir-numeros-a-letras-descripcion-como-se-hace/5477/2 "2012-09-05T08:25:05Z")

</div>

Gracias, con lo cual resulta que v7 no tiene la funcion numeroenletras que teniamos en V6,en V7 tenemos numbertostring, no lo probe pero pensaba que seria el equivalente a numeroenletras de v6

---

<div class="post-metadata">

**Author:** ![velavisual1](https://avatars.discourse-cdn.com/v4/letter/v/dbc845/32.png) [@velavisual1](https://foros.velneo.com/u/velavisual1)\
**Post date:** [5 Septiembre, 2012 09:36 UTC](https://foros.velneo.com/t/con-velneo-v7-es-muy-facil-convertir-numeros-a-letras-descripcion-como-se-hace/5477/3 "2012-09-05T09:36:05Z")

</div>

Más opciones en este hilo:  
.  
.  
[http://velneo.es/foros/topic/conversion-de-numeros-a-letas/](http://velneo.es/foros/topic/conversion-de-numeros-a-letas/)  
.  
.  
saludos  
Antonio Vela  
[http://www.velavisual.com](http://www.velavisual.com)

---

<div class="post-metadata">

**Author:** ![jose1](https://avatars.discourse-cdn.com/v4/letter/j/dec6dc/32.png) [@jose1](https://foros.velneo.com/u/jose1)\
**Post date:** [5 Septiembre, 2012 17:04 UTC](https://foros.velneo.com/t/con-velneo-v7-es-muy-facil-convertir-numeros-a-letras-descripcion-como-se-hace/5477/4 "2012-09-05T17:04:50Z")

</div>

Aqui tienes mas:  
[http://www.ascsl.com/2010/07/convertir-importes-a-texto/](http://www.ascsl.com/2010/07/convertir-importes-a-texto/)

un saludo.  
José Luis  
[http://www.ascsl.com](http://www.ascsl.com)
