CONVERTIR UN ENTERO A DECIMAL DE ACUERDO A UN INDICADOR

Todo lo relacionado con Cobol en ambientes batch, online(CICS,IMS) con bases de datos(DB2, Adabas) etc.
Responder
LisAndkp
Usuario
Usuario
Mensajes: 9
Registrado: 08 Mar 2017, 20:40
País: Peru
Ciudad: Lima
Ocupación: Estudiante

CONVERTIR UN ENTERO A DECIMAL DE ACUERDO A UN INDICADOR

Mensaje por LisAndkp » 04 Abr 2018, 13:26

Hola ,

Quiero convertir un valor entero a decimal pero de acuerdo a un indicador de posiciones decimal que viene en la primera posicion del campo entero, por ejemplo:

si mi CAMPO ENTERO = 601234567 entonces mi CAMPO DECIMAL = 01,234567
si mi CAMPO ENTERO = 501234567 entonces mi CAMPO DECIMAL = 012, 34567

El indicador debe ser un valor variable. :?

Agradezco su ayuda :arriba: :arriba: :arriba:

Cerbumota
Colaborador
Colaborador
Mensajes: 127
Registrado: 07 Feb 2007, 05:34
País: España
Ciudad: Madrid
Ocupación: Otra

Re: CONVERTIR UN ENTERO A DECIMAL DE ACUERDO A UN INDICADOR

Mensaje por Cerbumota » 07 Abr 2018, 08:17

Buenas.
¿No te bastaría con quitarle a la cadena el primer dígito, y al resto dividirlo entre ese dígito por diez?
Hace mucho que no hago Cobol, pero lo veo tan sencillo que no entiendo la pregunta. (Sin ánimo de criticar u ofender...) :silbo:
Mi lema favorito, el de las tres "uVes": Velocidad, Valor y... Vuevos.

f_caballero
Usuario avanzado
Usuario avanzado
Mensajes: 55
Registrado: 25 Sep 2007, 16:36
País: España
Ciudad: Madrid
Ocupación: Analista de desarrollo

Re: CONVERTIR UN ENTERO A DECIMAL DE ACUERDO A UN INDICADOR

Mensaje por f_caballero » 07 Abr 2018, 14:11

Hola, no sería correcto dividir el número entre dígito multiplicado por 10, habrá que dividirlo entre 10 ELEVADO A dígito.
De esta forma hacemos la división entre 1 seguido de tantos ceros como se indica en la potencia.
601234567 ==> 01234567 / 1000000 = 01,234567
Espero que sirva.
Salud y fortuna.
Fernando Caballero

Cerbumota
Colaborador
Colaborador
Mensajes: 127
Registrado: 07 Feb 2007, 05:34
País: España
Ciudad: Madrid
Ocupación: Otra

Re: CONVERTIR UN ENTERO A DECIMAL DE ACUERDO A UN INDICADOR

Mensaje por Cerbumota » 07 Abr 2018, 14:52

f_caballero escribió:
07 Abr 2018, 14:11
Hola, no sería correcto dividir el número entre dígito multiplicado por 10, habrá que dividirlo entre 10 ELEVADO A dígito.
De esta forma hacemos la división entre 1 seguido de tantos ceros como se indica en la potencia.
601234567 ==> 01234567 / 1000000 = 01,234567
Espero que sirva.
Perdón. Quería decir eso, claro... :roll: :roll: :roll:
Mi lema favorito, el de las tres "uVes": Velocidad, Valor y... Vuevos.

Responder