Mostrar valor numerico

142 views
Skip to first unread message

integral

unread,
Dec 27, 2025, 12:09:02 PM12/27/25
to Comunidad de Visual Foxpro en Español
Que tal amigos del foro:

Muy buenos días

Tengo la siguiente consulta.

Deseo mostrar mediante un aviso el monto total de la deuda de un cliente cualquiera. Ahora  bien si el importe supera los 3 digitos mostrar la coma de mil.

Estoy aplicando en una sola linea el siguiente codigo pero funciona perfectamente si la deuda  es mayor de 4 digitos...

 "Por el monto total de S/. " + TRANSFORMnTotal,'@L 9,999') + " Soles" 

AVSO_DEUDA.jpg

AVSO_DEUDA_02.jpg

Agradezco sus comentarios y sugerencias para corregir este problema.

Saludos,

Integral

Hector Colman

unread,
Dec 27, 2025, 2:35:32 PM12/27/25
to publice...@googlegroups.com
image.png

--
Blog de la Comunidad Visual FoxPro en Español http://comunidadvfp.blogspot.com
---
Has recibido este mensaje porque estás suscrito al grupo "Comunidad de Visual Foxpro en Español" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a publicesvfoxp...@googlegroups.com.
Para ver este debate, visita https://groups.google.com/d/msgid/publicesvfoxpro/80f299d4-dd94-48b6-b264-bc989374edc6n%40googlegroups.com.

Mik

unread,
Dec 27, 2025, 9:54:48 PM12/27/25
to Comunidad de Visual Foxpro en Español
2025-12-27_215246.png

integral

unread,
Dec 28, 2025, 3:09:00 PM (14 days ago) 12/28/25
to Comunidad de Visual Foxpro en Español
Que tal amigos del Foro

Muy Buenas Tardes

Agradezco sus sugerencias.

Aqui el codigo que estoy aplicando pero me da un error...

xNumLen = IIF(nTotal > 999,TRANSFORM(nTotal,'@L 99,999',IIF(nTotal < 99,TRANSFORM(nTotal,'@L 99',TRANSFORM(nTotal,'@L 999')

ERROR_CODIGO.jpg

Agradezco sus comentarios.

Saludos,

Integral

iamrdb

unread,
Dec 28, 2025, 5:54:45 PM (14 days ago) 12/28/25
to publicesvfoxpro
Buenas tardes Integral
Te faltan los 2 parentesis cerrado de los IIF

Daniel


Message has been deleted

Trento

unread,
Dec 28, 2025, 6:32:20 PM (14 days ago) 12/28/25
to Comunidad de Visual Foxpro en Español
Sencillo, te faltan los paréntesis correspondientes para para su correcta evaluación.
En este tipo de situaciones, te recomiendo hacer tu código más legible.

IIF( nTotal > 999, TRANSFORM( nTotal,'@L 99,999' ), ; &&Si el total es mayor a 999... de lo contrario:
   
IIF( nTotal < 99, TRANSFORM( nTotal, '@L 99' ), ;  &&... si es menor a 99...
        TRANSFORM( nTotal,'@L 999') )  )

Otra cuestión: ¿Qué te mostraría si nTotal es exactamente 99 o menor a 10? O >= a 100,000 o... ¡qué sé yo!

¿No es más sencillo esto?

? "$ " + ALLTRIM( TRANSFORM ( nTotal,  "###,###,###.##"  )  )

... pienso yo.

Saludos.


ED: Sí, eliminé el mensaje anterior por una falta de ortografía y... ¡y un p#$o paréntesis de más! jaajajajaja

Alejandro Isla

unread,
Dec 28, 2025, 9:23:08 PM (14 days ago) 12/28/25
to Comunidad de Visual Foxpro en Español
Hola, supongo por lo que veo de tu   código, algo que olvidaste mencionar a la comunidad, es que necesitas que aparezca siempre un 0 al inicio del valor, sino no tendría sentido el @L y todo  los complicado.

Si es ese el caso, lo sencillo 

= "0"+ALLTRIM( TRANSFORM ( ntotal,  "999,999,999.00"  ))

integral

unread,
Dec 28, 2025, 10:19:39 PM (14 days ago) 12/28/25
to Comunidad de Visual Foxpro en Español
Que tal amigos del Foro.

Muy Buenas Noches

Gracias a todos por sus sugerencias, Tema resuelto.

Hasta la próxima.

Saludos,

Integral

Trento

unread,
Dec 28, 2025, 11:15:06 PM (14 days ago) 12/28/25
to Comunidad de Visual Foxpro en Español
Ya.
Y lo resolviste... ¿cómo?

Digo, para que no nos dejes en ascuas a los demás.


Saludos.

integral

unread,
Dec 28, 2025, 11:55:53 PM (14 days ago) 12/28/25
to Comunidad de Visual Foxpro en Español

Que tal amigos

Aquí el código final con la solución.

xNumLen = IIF( nTotal > 999, TRANSFORM( nTotal,'@L 9,999' ), ;                            &&    Si el total es mayor a 999... de lo contrario:
                             IIF( nTotal < 99, TRANSFORM( nTotal, '@L 99' ), ;                           &&    Si es menor a 99...

                                         TRANSFORM( nTotal,'@L 999') ) )

Atte.,

Integral

Trento

unread,
Dec 29, 2025, 12:24:45 AM (14 days ago) 12/29/25
to Comunidad de Visual Foxpro en Español
Vaya, pues "honor a quien honor merece".
Creo que he visto ese código antes pero no me parece la mejor solución. No sé porqué, pero en fin...
Una disculpa, es que ya pasan de las 23:00hrs acá en México y como decimos en Guadalajara, Jalisco (con tequila en mano, claro):
¡SALUD!

integral

unread,
Dec 29, 2025, 10:00:23 AM (13 days ago) 12/29/25
to Comunidad de Visual Foxpro en Español
Que tal amigos del Foro

Muy Buenos Días

Un colega me escribe para preguntarme como personalizar o crear un messagebox muy similar al nativo de VFP

Respondiendo a tu consulta estimado colega. Antes que nada la clase no es de mi autoría. Me la compartió hace unos años
el colega Edwin Duran.

Aquí les dejo el link donde se toco el mismo tema y también contiene el link de la descarga de la clase.

Espero les sea de mucha utilidad.  

https://groups.google.com/g/publicesvfoxpro/c/QcW7kcj0tIU/m/-6x22ZDDAQAJ

Saludos,

Integral
(Lima-Perú)
Reply all
Reply to author
Forward
0 new messages