my code stock.com

Gonzalo Benoffi

Calcular codigo de pago electronico
by Gonzalo Benoffi

Snippet options

Download: Download snippet as calcular-codigo-de-pago-electronico.java.
Copy snippet: For this you need a free my code stock.com account.
Embed code : You will find the embed code for this snippet at the end of the page, if you want to embed it into a website or a blog!

	String calcular()
	{
        String arreglo[] = new String[14];

        //primer parte
        arreglo[0] = "3";
        arreglo[1] = "2";
        arreglo[2] = "7";

        //segunda parte - SSS, es el número de sucursal de 3 dígitos completados con 0 a la izquierda
        String[] ary = sucursal.trim().split("(?!^)"); //73
        int y = ary.length-1; // y = 1
        for (int i = 5;i>2;i--)
        {
            if (y>-1) // si no termine el arreglo de sucursal, copio de atras hacia adelante en ambos arreglos
            {
                arreglo[i] = ary[y];
                y--;
            }
            else // asigno 0 si ya no tengo más elementos en el arreglo sucursal pero si en el general
            {
                arreglo[i] = "0";
            }
        }

        //tercera parte - CCCCCCC, es el número de cuenta de 7 dígitos completados con 0 a la izquierda
        String[] aryCuenta= cuenta.trim().split("(?!^)"); //59681
        y = aryCuenta.length-1; // y = 4
        for (int i = 12;i>5;i--)
        {
            if (y>-1)
            {
                arreglo[i] = aryCuenta[y];
                y--;
            }
            else
            {
                arreglo[i] = "0";
            }
        }

        /*

        cuatra parte

        D, es el dígito verificador cuyo cálculo es el siguiente:

        SUMA = S1*6 + S2*5 + S3*4 + C1*3 + C2*2 + C3*7 + C4*6 + C5*5 + C6*4 + C7*3

        RESTO = el resto de la división de SUMA dividido 10

        D = si (RESTO = 0), entonces 0. Si (RESTO > 0), entonces 10 - RESTO.

         */

        int suma = 0;
        int multiplicador = 6;
        for (int i =3;i<8;i++)
        {
            suma = suma + Integer.parseInt(arreglo[i]) * multiplicador;
            multiplicador--;
        }

        multiplicador = 7;
        for (int i =8;i<13;i++)
        {
            suma = suma + Integer.parseInt(arreglo[i]) * multiplicador;
            multiplicador--;
        }

        float resto = suma % 10 ; //saco el resto
        if (resto == 0 )
            arreglo[13] = "0";
        else
        {
            float resta = 10-resto;
            arreglo[13] = String.valueOf(Math.round(resta));
        }

        //convierto el arreglo en un String
        StringBuilder builder = new StringBuilder();
        for(String s : arreglo)
        {
            builder.append(s);
        }
        return builder.toString();
    }

Create a free my code stock.com account now.

my code stok.com is a free service, which allows you to save and manage code snippes of any kind and programming language. We provide many advantages for your daily work with code-snippets, also for your teamwork. Give it a try!

Find out more and register now

You can customize the height of iFrame-Codes as needed! You can find more infos in our API Reference for iframe Embeds.