Clipper/FiveWin - Cadena alfanumérica demasiado larga

   
Vista:

Cadena alfanumérica demasiado larga

Publicado por Koldo (8 intervenciones) el 06/11/2013 11:33:06
Hola, amigos.
Estoy haciendo en Clipper un programa para calcular el código IBAN de una cuenta. La cadena que se crea consta de 26 números. El problema es que al usar la instrucción VAL() para convertir la cadena a número solamente me convierte los 16 primeros, y el resto me lo rellena con ceros.
¿Alguien tiene una solución?
Gracias por anticipado.
Koldo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Carlos Labastida

Cadena alfanumérica demasiado larga

Publicado por Carlos Labastida euzkadi30@hotmail.com (139 intervenciones) el 07/11/2013 03:10:49
Buenas noches, si te puedo ayudar, solo que ocupo mas informacion del problema asi como de las circunstancias, si me explicas mas a fondo que estas haciendo y que quieres obtener puedo te aseguro que puedo encontrar una solucion, saludos!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Cadena alfanumérica demasiado larga

Publicado por Javier (44 intervenciones) el 07/11/2013 15:44:22
El dato de tipo entero tiene sus limitaciones. Si explicas como calcular el IBAN quizás se pueda realizarlo sin necesidad de convertir la cadena a número.
Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Cadena alfanumérica demasiado larga

Publicado por IROSILLO (2 intervenciones) el 10/12/2013 11:59:55
Hola Koldo,

Estoy con la misma problemática que tú. ¿Encontraste alguna solución al problema de como calcular el IBAN de una Cuenta?

Muchas Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Cadena alfanumérica demasiado larga

Publicado por IROSILLO (2 intervenciones) el 10/12/2013 13:13:05
Para quien le pase lo mismo.
Para hacer el módulo de un número mas largo de lo permitido, se debe separar en x partes, y calcular el módulo de cada parte por separado.

Así por ejemplo, en este caso de los 24 dígitos, podemos separarlo en dos partes. Nos quedaríamos con los primeros 14 dígitos y calcularíamos el módulo de estos 14 dígitos. El resultado se debe concatenar por delante a los últimos 12 dígitos, y volver a calcular el módulo de esta segunda parte:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
='editor_indent'>
Function CtaIBAN
='editor_indent'>
Parameters mCta
 
Private mtmp, mpart1, mpart2,resto,mdig, mIBAN
 
mtmp=mCta+'142800'  *... Para cuentas de españolas
 
mpart1=Left(mtmp,14)
resto=Val(mpart1)%97
 
mpart2=Str(resto,2,0)+Right(mtmp,12)
resto=Val(mpart2)%97
 
mdig=Right('00' + Str(98-resto, 2, 0), 2)
mIBAN = 'ES' + mdig + mCta
Return mIBAN
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Cadena alfanumérica demasiado larga

Publicado por josera (1 intervención) el 21/01/2014 19:23:45
me ha funcionado estupendamente,
es fantástico!!
que forma tan lógica de arreglar un problema, yo estaba intentando con números reales y claro, no funciona

felicidades y muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar