• Viernes 29 de Marzo de 2024, 03:04

Autor Tema:  Re: convertir numeros a binarios, romanos, etc..  (Leído 4189 veces)

pelotita

  • Nuevo Miembro
  • *
  • Mensajes: 21
    • Ver Perfil
Re: convertir numeros a binarios, romanos, etc..
« en: Lunes 25 de Agosto de 2003, 00:02 »
0
Tengo una consulta esque me han pedido en el Instituto convertir numeros.


  Numero ==> BInario
  Numero ==> numeros Romano
  Numero ==> Letras

Para Visual Fox 6.0 si alguien sabe la forma de hacerlo en Visual Basic también me serviria claro que lo adaptaria al Fox.


Gracias por su sugerencias y respuestas.

Un amigo

SUMANDO

  • Nuevo Miembro
  • *
  • Mensajes: 11
    • Ver Perfil
    • http://integromed.web1000.com
Re: convertir numeros a binarios, romanos, etc..
« Respuesta #1 en: Jueves 28 de Agosto de 2003, 15:24 »
0
Ok. Aquí te va el código

PARAMETERS XNUM
XBIN = ""
DO WHILE XNUM > 0
   XRES = MOD(XNUM,2)
   XBIN = STR(XRES,1,0) + XBIN
   XNUM = INT(XNUM/2)
ENDDO
RETURN XBIN

SUMANDO

  • Nuevo Miembro
  • *
  • Mensajes: 11
    • Ver Perfil
    • http://integromed.web1000.com
Re: convertir numeros a binarios, romanos, etc..
« Respuesta #2 en: Jueves 28 de Agosto de 2003, 15:25 »
0
Ok. Aquí te va el código:

PARAMETERS XNUM
* CONVIERTE NUMERO DECIMAL A ROMANOS
DIMENSION NUMEROS(13),ROMANOS(13)
NUMEROS(1) = 1
NUMEROS(2) = 4
NUMEROS(3) = 5
NUMEROS(4) = 9
NUMEROS(5) = 10
NUMEROS(6) = 40
NUMEROS(7) = 50
NUMEROS(8) = 90
NUMEROS(9) = 100
NUMEROS(10) = 400
NUMEROS(11) = 500
NUMEROS(12) = 900
NUMEROS(13) = 1000
ROMANOS(1) = "I"
ROMANOS(2) = "IV"
ROMANOS(3) = "V"
ROMANOS(4) = "IX"
ROMANOS(5) = "X"
ROMANOS(6) = "XL"
ROMANOS(7) = "L"
ROMANOS(8) = "XC"
ROMANOS(9) = "C"
ROMANOS(10) = "CD"
ROMANOS(11) = "D"
ROMANOS(12) = "CM"
ROMANOS(13) = "M"
XROM = ""
FOR I = 13 TO 1 STEP -1
   DO WHILE XNUM >= NUMEROS(I)
      XNUM = XNUM - NUMEROS(I)
      XROM = XROM + ROMANOS(I)
   ENDDO
NEXT I
RETURN XROM

SUMANDO

  • Nuevo Miembro
  • *
  • Mensajes: 11
    • Ver Perfil
    • http://integromed.web1000.com
Re: convertir numeros a binarios, romanos, etc..
« Respuesta #3 en: Jueves 28 de Agosto de 2003, 15:27 »
0
Ok, Aqui tye va el código:
Esta rutina la uso para imprimir cheques, por eso sale Bs. (Venezuela).


PARAMETER XNUM
DECLARE U(10),D(10),C(10),E(10)
U(1) = ""
U(2) = "UNO"
U(3) = "DOS"
U(4) = "TRES"
U(5) = "CUATRO"
U(6) = "CINCO"
U(7) = "SEIS"
U(8) = "SIETE"
U(9) = "OCHO"
U(10) = "NUEVE"
***----
D(1) = ""
D(2) = "DIEZ"
D(3) = "VEINTE"
D(4) = "TREINTA"
D(5) = "CUARENTA"
D(6) = "CINCUENTA"
D(7) = "SESENTA"
D(8) = "SETENTA"
D(9) = "OCHENTA"
D(10) = "NOVENTA"
***-----
C(1) = ""
C(2) = "CIENTO"
C(3) = "DOSCIENTOS"
C(4) = "TRESCIENTOS"
C(5) = "CUATROCIENTOS"
C(6) = "QUINIENTOS"
C(7) = "SEISCIENTOS"
C(8) = "SETECIENTOS"
C(9) = "OCHOCIENTOS"
C(10) = "NOVECIENTOS"
***-------
E(1) = "DIEZ"
E(2) = "ONCE"
E(3) = "DOCE"
E(4) = "TRECE"
E(5) = "CATORCE"
E(6) = "QUINCE"
E(7) = "DIECISEIS"
E(8) = "DIECISIETE"
E(9) = "DIECIOCHO"
E(10) = "DIECINUEVE"
***-------

M4 = INT(XNUM / 1000000000)
M3 = INT(XNUM / 1000000)  - (M4 * 1000)
M2 = INT(XNUM / 1000) - (M3 * 1000) - (M4 * 1000000)
M1 = INT(XNUM) - (M2 * 1000) - (M3 * 1000000) - (M4 * 1000000000)
XCS = INT((XNUM - INT(XNUM))*100)
XR2 = ""
IF !EMPTY(M4)
   XR2 = XR2 + TRIO(M4,.F.) + " MIL "
ENDIF
IF !EMPTY(M3)
   XR2 = XR2 + TRIO(M3,.F.) + IIF(M3=1," MILLON "," MILLLONES ")
ENDIF
IF !EMPTY(M2)
   XR2 = XR2 + TRIO(M2,.F.) + " MIL "
ENDIF
IF !EMPTY(M1)
   XR2 = XR2 + TRIO(M1,.T.)
ENDIF
* ANEXAR LOS CENTIMOS
XR2 = XR2 + " BOLIVARES CON " + STRTRAN(STR(XCS,2,0)," ","0") + "/100 CENTIMOS"
DO WHILE AT("  ",XR2) > 0
   XR2 = STRTRAN(XR2,"  "," ")
ENDDO
RETURN XR2

FUNCTION TRIO
   PARAMETER NUMERO,XUNO
   U(2) = IIF(XUNO,"UNO","UN")
   X3 = INT(NUMERO / 100)
   X2 = INT(NUMERO / 10) - X3*10
   X1 = NUMERO - X3*100 - X2*10
   XR = ""
   *****
   DO CASE
      CASE NUMERO = 100
         XR = "CIEN"
      OTHER
         XR = C(X3+1) + " "
         IF X2 = 1
            XR = XR + E(X1+1)
         ELSE
            XR = XR + D(X2+1) + IIF(X1>0 AND X2>0," Y ","") + U(X1+1)
         ENDIF
   ENDCASE
   RETURN XR

pelotita

  • Nuevo Miembro
  • *
  • Mensajes: 21
    • Ver Perfil
convertir numeros a binarios, romanos, etc..
« Respuesta #4 en: Viernes 29 de Agosto de 2003, 03:49 »
0
Gracias amiguito, me has salvado de un gran problema.  :sorcerer: