Digito Contol nº cuenta bancaria
Hola, estoy haciendo una aplicacion que entre otras cosas hace la verificacion del digito de control de una cuenta bancaria, y necesito poner un codigo que al meter un numero de 4 cifras en Text1 , yo pueda multiplicar cada numero por separado.
Ejemplo, se introduce un numero cualquiera en text1 (ej: 2598) yo quiero que al apretar un command se multiplique el primer numero por 7(siempre el mismo numero), el segundo por 3(siempre el mismo numero), el tercero por 6(siempre el mismo numero) y el cuarto por 1(siempre el mismo numero).
Si el numero en text1 es 2598 seria 2*7; 5*3;9*6;8*1
Si el numero en text1 es 1257 seria 1*7;2*3; 5*6;7*8
¿Podeis ayudarme?
Ejemplo, se introduce un numero cualquiera en text1 (ej: 2598) yo quiero que al apretar un command se multiplique el primer numero por 7(siempre el mismo numero), el segundo por 3(siempre el mismo numero), el tercero por 6(siempre el mismo numero) y el cuarto por 1(siempre el mismo numero).
Si el numero en text1 es 2598 seria 2*7; 5*3;9*6;8*1
Si el numero en text1 es 1257 seria 1*7;2*3; 5*6;7*8
¿Podeis ayudarme?
Pues es muy fácil, usa la función Mid$() para extraer cada
uno de los dígitos, después con la función Val() extraes
el valor numérico de cada dígito y por fin multiplicas.
A que es fácil?, pues hala, a programar.
uno de los dígitos, después con la función Val() extraes
el valor numérico de cada dígito y por fin multiplicas.
A que es fácil?, pues hala, a programar.
o bien simplemente aplica la siguiente formula
x - (10 * entero (x/10))
de esta forma si x es 23
23 - (10 * entero(23/10) = 23- (10* entero(2.3) = 23- (10*2) = 23- 20 = 3
y el entero de 20/10 = 2
y ya tienes los dos numeros
ahora kon un numero de 3 cifras solo es aumentar en "0" los valores ejemplo de 3 cifras :
123
entero (123/100) =1
(entero(123/10)) - ((entero(123/100))*10)= 12 - 10 = 2
123 - (10*entero(123/10)) = 123 - (10* 12) = 123-120 = 3
y con 4 cifras:
2123
entero (2123/1000) =2
(entero(2123/100)) - ((entero(2123/1000))*100)= 21 - 20 = 1
(entero(2123/10)) - ((entero(2123/100))*10)= 212 - 210 = 2
123 - (10*entero(123/10)) = 123 - (10* 12) = 123-120 = 3
etc... para lo del dc solo te faltaria la de la cuenta bancaria que es algo mas larga.....este metodo es puro matematico y a veces aunke sea un codigo mas largo en la traduccion al idioma de compilador este codigo puede ser mucho mas corto y rapido k usar la funcion "mid$" aparte cuando aprendes hacer algo a base de matematicas piensa que el unico problema que te keda resolver es en k idioma de programacion kieres insertar el calculo, es almenos mi forma de tener los codigos bien resguardados para hacer conversiones a distintos tipos de base de datos etc.... enga saludos a toos.
x - (10 * entero (x/10))
de esta forma si x es 23
23 - (10 * entero(23/10) = 23- (10* entero(2.3) = 23- (10*2) = 23- 20 = 3
y el entero de 20/10 = 2
y ya tienes los dos numeros
ahora kon un numero de 3 cifras solo es aumentar en "0" los valores ejemplo de 3 cifras :
123
entero (123/100) =1
(entero(123/10)) - ((entero(123/100))*10)= 12 - 10 = 2
123 - (10*entero(123/10)) = 123 - (10* 12) = 123-120 = 3
y con 4 cifras:
2123
entero (2123/1000) =2
(entero(2123/100)) - ((entero(2123/1000))*100)= 21 - 20 = 1
(entero(2123/10)) - ((entero(2123/100))*10)= 212 - 210 = 2
123 - (10*entero(123/10)) = 123 - (10* 12) = 123-120 = 3
etc... para lo del dc solo te faltaria la de la cuenta bancaria que es algo mas larga.....este metodo es puro matematico y a veces aunke sea un codigo mas largo en la traduccion al idioma de compilador este codigo puede ser mucho mas corto y rapido k usar la funcion "mid$" aparte cuando aprendes hacer algo a base de matematicas piensa que el unico problema que te keda resolver es en k idioma de programacion kieres insertar el calculo, es almenos mi forma de tener los codigos bien resguardados para hacer conversiones a distintos tipos de base de datos etc.... enga saludos a toos.
