• Domingo 17 de Noviembre de 2024, 22:44

Autor Tema:  Convertir Numeros En Texto  (Leído 5870 veces)

amuchut

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Convertir Numeros En Texto
« en: Lunes 3 de Enero de 2005, 23:51 »
0
Que tal amigos!!!

Necesito convertir números en texto en power builder, alguien tiene un código que lo haga?

ej: 100 que lo pase a CIEN.

Desde ya muchas gracias.

Soultaker

  • Miembro HIPER activo
  • ****
  • Mensajes: 972
  • Nacionalidad: pe
    • Ver Perfil
Re: Convertir Numeros En Texto
« Respuesta #1 en: Martes 4 de Enero de 2005, 00:13 »
0
Hey amuchut no se porque pero me parece que esa es alguna tarea que te han dejado y quieres que otros te lo hagan, si sabes programar hacer eso es facil, no es tan complicado, solo tienes que manejar los miles, centenas, decenas y unidades de un numero.

 :comp:
http]
foros,programacion, c, c++, java,
linux, videojuegos, directX, .NET,
visual basic,robotica,microprocesadores

Para los nuevos usuarios de este Foro, por favor leerse esta discusión.
Cómo Hacer Preguntas De Forma Inteligente

Ojos que no ven... pisan caquita
Camarón que se duerme... muere electrocutado


<<< Harol Moreyra Bendezú >>>

paul_illing

  • Miembro activo
  • **
  • Mensajes: 32
    • Ver Perfil
    • http://www.jbmconsultores.com
Re: Convertir Numeros En Texto
« Respuesta #2 en: Martes 4 de Enero de 2005, 05:07 »
0
Hola amuchut soy paúl Illingworth

veras la funcion que te envio más abajo soluciona tu problema de explico lo que tienes que hacer:

1. tienes que crear una función con el nombre que quieras (ej. f_valor_letras)
2. tiene que retornar un String (return value String)
3. Pass by - Value
4. Argument type - Decimal
5. argument name - adc_valor
 y listo solo tienes que usar esa función.


//funcion para cambiar de número a letras   *****paúl Illingworth *****

string lsa_unidad[] = {"uno","dos","tres","cuatro","cinco","seis","siete","ocho","nueve"}
string lsa_subdec[] = {"once","doce","trece","catorce","quince","dieciseis","diecisiete","dieciocho","diecinueve"}
string lsa_decena[] = {"diez","veinte","treinta","cuarenta","cincuenta","sesenta","setenta","ochenta","noventa"}
string lsa_centena[] = {"ciento","doscientos","trescientos","cuatrocientos","quinientos","seiscientos","setecientos","ochocientos","novecientos"}
integer i, li_labv, lia_valor[20]
string ls_valor, ls_vl
ls_valor = string(Truncate (adc_valor,0))
ls_valor = fill(' ',20 - len(ls_valor)) + ls_valor
for i=20 to 1 step -1
   if mid(ls_valor,i,1) = ' ' then
      li_labv=20 - i
      exit
   end if
   lia_valor[20 - i + 1] = integer(mid(ls_valor,i,1))
end for

for i = li_labv + 1 to 20
   lia_valor=0
end for
   
ls_vl = ''
for i=1 to li_labv
   CHOOSE CASE i
   CASE 4,10
      IF lia_valor+lia_valor[i+1]+lia_valor[i+2] <> 0 THEN ls_vl = 'mil ' + ls_vl
   CASE 7
      IF lia_valor=1 THEN ls_vl = 'millon ' + ls_vl else ls_vl = 'millones ' + ls_vl
   END CHOOSE
   CHOOSE CASE i
   CASE 1,4,7,10
      IF lia_valor=0 THEN CONTINUE
      IF lia_valor[I+1]=1 THEN
         ls_vl=lsa_subdec[lia_valor]+' '+ls_vl
      ELSE
         IF lia_valor=1 AND i > 1 THEN
            IF i=4 or i=7 THEN ls_vl = "un " + ls_vl
         ELSE
            IF lia_valor[i+1]=0 THEN
               ls_vl=     lsa_unidad[lia_valor]+' '+ls_vl
            ELSE
               ls_vl='y '+lsa_unidad[lia_valor]+' '+ls_vl
            END IF
         END IF
      END IF
   case 2,5,8,11
      IF (lia_valor=1 AND lia_valor[i - 1] <> 0) OR lia_valor=0 THEN CONTINUE
      ls_vl=lsa_decena[lia_valor]+' '+ls_vl
   case 3,6,9,12
      IF lia_valor=0 THEN CONTINUE
      IF lia_valor=1 AND lia_valor[i - 1]=0 AND lia_valor[i - 2]=0 THEN
         ls_vl="cien"+' '+ls_vl
      ELSE
         ls_vl=lsa_centena[lia_valor]+' '+ls_vl
      END IF
   END CHOOSE
END FOR
ls_vl=Upper ( left(ls_vl,1) ) + mid(ls_vl,2) + ' 00/100'
return ls_vl   

//fin de la función


pd. Visita la página de mi empresa esta muy interesante
http://www.jbmconsultores.com

Att.
Paúl Illingworth
Ecuador - Sur América
Tungurahua - Ambato

Avisame si te sirvió o si tienes una duda te la responderé.

mateamargo

  • Miembro activo
  • **
  • Mensajes: 67
    • Ver Perfil
Re: Convertir Numeros En Texto
« Respuesta #3 en: Jueves 20 de Enero de 2005, 16:36 »
0
En la página www.powerbuilder.org hay un código publicado por uno de los usuarios que hace eso. También en www.lawebdelprogramador.com.
Saludos.