O PIS (Programa de Integração Social) é um número de identificação vinculado a trabalhadores brasileiros e é fundamental para o acesso a benefícios sociais e trabalhistas. A validação do PIS é um processo importante para garantir que o número fornecido esteja correto. Neste post, vamos aprender como validar PIS em C#.
Estrutura do PIS
O PIS é composto por 11 dígitos, formatados da seguinte maneira: 123.45678.90-1
. Os primeiros 8 dígitos são o número de identificação, seguidos de 1 dígito verificador que é calculado a partir dos 10 primeiros dígitos.
Passos para validar o PIS
- Verificar o comprimento do PIS: O PIS deve ter exatamente 11 caracteres.
- Remover formatação: Eliminar os pontos e o hífen para trabalhar apenas com os dígitos.
- Calcular o dígito verificador: Usar um algoritmo específico para validar o último dígito.
Implementação em C#
Vamos ver um exemplo de como implementar essa validação em C#:
using System;
using System.Linq;
class Program
{
static void Main()
{
Console.Write("Digite o PIS: ");
string pis = Console.ReadLine();
if (ValidarPIS(pis))
{
Console.WriteLine("PIS válido!");
}
else
{
Console.WriteLine("PIS inválido!");
}
}
static bool ValidarPIS(string pis)
{
// Remover formatação e verificar comprimento
pis = pis.Replace(".", "").Replace("-", "");
if (pis.Length != 11 || !pis.All(char.IsDigit))
return false;
// Calcular dígito verificador
int soma = 0;
int[] pesos = { 3, 2, 9, 8, 7, 6, 5, 4, 3, 2 };
for (int i = 0; i < 10; i++)
{
soma += int.Parse(pis[i].ToString()) * pesos[i];
}
int digitoVerificador = 11 - (soma % 11);
if (digitoVerificador >= 10)
digitoVerificador = 0;
return digitoVerificador == int.Parse(pis[10].ToString());
}
}
Explicação do código
- Entrada do usuário: O código solicita que o usuário insira um número PIS.
- Remoção de formatação: Usamos
Replace
para remover os pontos e o hífen do PIS. - Verificação de comprimento: Checamos se o PIS tem 11 dígitos.
- Cálculo do dígito verificador: Um loop percorre os 10 primeiros dígitos, calcula a soma ponderada e determina o dígito verificador.
- Validação: Retorna
true
se o PIS for válido efalse
caso contrário.
Outro exemplo prático
Validar os dados na aplicação antes de enviá-los ao SGBD é uma prática elementar que evita muitos transtornos e processamento na base de dados.
É uma prática de segurança que visa evitar inconsistências na base de dados e torna os softwares mais seguros e robustos.
O código abaixo é um método que valida o PIS digitado. Veja:
public bool validaPIS(string pis) {
int[] multiplicador = new int[10] { 3, 2, 9, 8, 7, 6, 5, 4, 3, 2 };
int soma;
int resto;
if (pis.Trim().Length != 11)
return false;
pis = pis.Trim();
pis = pis.Replace("-", "").Replace(".", "").PadLeft(11, '0');
soma = 0;
for (int i = 0; i < 10; i++) {
soma += int.Parse(pis[i].ToString()) * multiplicador[i];
resto = soma % 11;
if (resto < 2) {
resto = 0;
} else {
resto = 11 - resto;
return pis.EndsWith(resto.ToString());
}
}
}
CONHEÇA O CURSO COMPLETO DE C# COM + DE 100 AULAS PRÁTICAS. Tenha acesso vitalício e certificado de conclusão.
CLIQUE NA IMAGEM ABAIXO E CONFIRA MAIS DETALHES:
Dúvidas ou sugestões sobre como validar PIS em C#? Deixem nos comentários! Para mais dicas, acesse o nosso canal no YouTube:
https://youtube.com/criandobits
Quer receber GRÁTIS o e-book "Como Formatar um Computador em 5 Minutos"?
Sobre o Autor
0 Comentários