Você está aqui: C# ::: Boletos Bancários, Arquivos de Remessa e Retornos do Banco ::: Caixa Econômica Federal - Banco 104 |
Boleto Bancário C# - Como calcular o dígito verificador da conta corrente - Módulo 11 - Boleto Caixa Econômica CNAB240Quantidade de visualizações: 2973 vezes |
|
Nesta dica mostrarei, passo-a-passo, como calcular o dígito verificador da conta corrente para o boleto e arquivos de remessa da Caixa Econômica Federal (Banco 104) de acordo com o Manual de Leiaute de Arquivo Eletrônico Padrão CNAB 240 - Cobrança Bancária Caixa - SIGCB - Versão 67.118 v024 micro. Tenha certeza de verificar sua versão do manual antes de usar o código abaixo. O Dígito Verificador da Conta é um código adotado pelo banco, em nosso caso a Caixa Econômica, para verificação da autenticidade do número da conta corrente, e tal número deverá ser calculado através do módulo 11. Mostro abaixo o código completo para o cálculo do dígito verificador. Note que só precisamos informar o número da conta (sem o dígito) e o código se encarrega de calcular o dígito. Aqui eu informei o número da conta em uma variável, mas você pode modificar o código para que o valor venha de um formulário ou do banco de dados. Eis o código C#: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
using System;
namespace Estudos{
class Program{
// função que recebe o número da conta e devolve
// o dígito verificador
static int digitoVerificadorConta(string conta) {
// primeiro vamos remover os espaços do número da conta
conta = conta.Trim();
// agora precisamos adicionar os zeros necessários
// para completar 12 posições
conta = conta.PadLeft(12, '0');
// agora vamos definir os índices de múltiplicação
string indices = "543298765432";
// e aqui a soma da multiplicação coluna por coluna
int soma = 0;
// fazemos a multiplicação coluna por coluna agora
for (int i = 0; i < conta.Length; i++){
soma = soma + int.Parse(conta[i].ToString()) *
int.Parse(indices[i].ToString());
}
// obtemos o resto da divisão da soma por onze
int resto = soma % 11;
// subtraímos onze pelo resto da divisão
int digito = 11 - resto;
// atenção: Se o resultado da subtração for
// maior que 9 (nove), o dígito será 0 (zero)
if (digito > 9){
digito = 0;
}
return digito;
}
static void Main(string[] args) {
// vamos obter o dígito verificador para a conta a seguir
string conta = "109990";
int digito = digitoVerificadorConta(conta);
Console.WriteLine("O dígito verificador para a conta " +
conta + " é " + digito);
Console.WriteLine("\n\nPressione uma tecla para sair...");
Console.ReadKey();
}
}
}
Ao executar este código C# nós teremos o seguinte resultado: O dígito verificador para a conta 109990 é: 6 É importante observar que o dígito verificador da agência e também do par agência/conta são sempre informados pela Caixa, geralmente pela agência na qual nossos clientes possuem conta. |
|
|
Desafios, Exercícios e Algoritmos Resolvidos de C# |
Veja mais Dicas e truques de C# |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |







