0
Todos sabemos que COBOL, no soporta más de 18 dígitos, incluidos los decimales, ¿qué pasa cuando queremos hacer un cálculo para un número grande?, por ejemplo para calcular el DC de una cuenta de un banco, (que son 20 dígitos, 24 con el IBAN), hay una manera muy sencilla de hacerlo, y da lo mismo el tamaño del número que queramos dividir:
- Partimos el número en números más pequeños, tantos como necesitemos, por supuesto, los números que sean más grandes que el divisor, si no, nos vamos a hinchar a hacer cálculos.
- Dividimos la primera parte entre el DIVISOR y sacamos la PARTE ENTERA del resto.
- Ésta parte entera del RESTO, la añadimos al principio de la siguiente parte del número.
- Repetimos los puntos 2 y 3, así hasta terminar todas las partes en las que hayamos dividido el número grande (el número original).
- Por último, concatenamos cada una de las partes enteras de la división en orden, y la última parte con los decimales incluidos.
* Por ejemplo:
69823657153 dividido entre 97 (69823657153 / 97) = 719831517,041237
- Partimos el número en 2 partes: 698236 y 57153
- Dividimos: 698236 / 97 = 7198,309278 (el mod 97 es 30)
- Añadimos el 30 al principio de la siguiente parte del numero: 3057153
- Dividimos: 3057153 / 97 = 31517,041237
- Concatenamos: 7198 y 31517,041237 = 719831517,041237
Espero que os sirva de algo
Un saludo.-
Marcadores