Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public static boolean validarNit(String nit) {
- // Asegurarse de que el NIT tenga 10 caracteres
- boolean nitValido = true;
- if (nit.length() >= 2 && nit.length() <= 13) {
- // Realizar validación adicional si es necesario
- } else {
- nitValido = false;
- }
- String partes[] = nit.split("-");
- if (partes.length != 2) {
- nitValido = false; // No se encontró un guion antes del último número
- }
- String parte1 = partes[0];
- String parte2 = partes[1];
- // Separamos los primeros dígitos del NIT, y el dígito verificador es el último
- // String primerosocho = nit.substring(0, 8);
- String digitoVerificador = parte2;
- int factor = parte1.length() + 1;
- int valor = 0;
- //10482781-5
- //8+1=9 AQUI EMPIEZA EL FACTOR
- //9*1=9 8*0=0 4*7=28 Y ASI SUSECIMAMENTE CON EL RESTO DE NUMEROS DEL NIT SIN INCLUIR EL DIGITO VERIFICADOR
- for (int i = 0; i < parte1.length(); i++) {
- // Convertimos carácter por carácter de los primeros 9 y los multiplicamos por el factor
- valor += Character.getNumericValue(parte1.charAt(i)) * factor;
- factor--;
- }
- // A VALOR QUE ES EL NUMERO DE LA SUMA DE LAS MULTIPLICACIONES DEL FACTOR POR EL NIT SE LE SACA MOD 11
- //System.out.println("este es el valor" + valor);
- int residuo = valor % 11;
- //System.out.println("aqui eta elresiduio" + residuo);
- int resultado = 11 - residuo;
- //System.out.println("aqui eta resultado" + resultado);
- if (resultado >= 10) {
- resultado = 0;
- }
- if (Integer.parseInt(digitoVerificador) != resultado) {
- nitValido = false;
- }
- return nitValido;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement