Buen dia.
Alguien me puede regalar una funcion con la cual se pueda calcular el digito de verificacion de un Nit?.
Gracias de antemano.
| ||||
Respuesta: Digito Verificacion Colombia No lo probé mucho pero con las pruebas que hice funcionó.
Código PHP:
Ver original
__________________ Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP |
| |||
Respuesta: Digito Verificacion Colombia Andrés efectivamente esa es la funcion que necesito, le he testeado con una buena cantidad y ha funcionado sin problema alguno. Te agradezco por tu valiosa colaboracion. |
| |||
Respuesta: Digito Verificacion Colombia Aprovecho que esta duda es similar y la posteo aca mismo. Alguien tiene una funcion que calcule el digito de verificacion bancario?. Gracias de antemano. |
| |||
Respuesta: Digito Verificacion Colombia Buen dia vgonga. Para nada, al igual que el digito de verificacion de un nit, existe un algoritmo que genera un digito de verificacion a una cadena de 17 caracteres y este es el digito de verificacion Bancario. Si depronto alguien tiene el algoritmo le agradeceria me lo facilitase y asi me ahorro la desarrollada de este ya que no conozco bien su logica. En caso de que nadie lo tenga, lo subire apenas lo termine. Gracias de antemano. |
| ||||
Respuesta: Digito Verificacion Colombia Viendo que tienes eso claro, te echo una mano, no era tan difícil, simplemente había que buscarlo en la wikipedia. Un saludo.
__________________ ¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis? |
| ||||
Respuesta: Digito Verificacion Colombia Me alegro que te haya servido, sobre el bancario no tengo ni la mínima idea, nunca me han pedido eso. Investigo y te cuento... Lo que encontró vgonga1986 es un avance, no se si sólo lo necesitas con cuentas colombianas. Si es así ya te tocaría consultar sobre eso.
Código PHP:
Ver original
__________________ Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP Última edición por andresdzphp; 25/08/2011 a las 10:23 Razón: Agregré un código |
| |||
Respuesta: Digito Verificacion Colombia Andres sos muy amable, he encontrado en la empresa que trabajo un algoritmo viejo desarrollado en Fox y lo pase a PHP, no es muy funcional pero por ahora le dejare tal cual. en un par de minutos lo posteare. |
| |||
Respuesta: Digito Verificacion Colombia Bueno, bien se que este codigo se puede optimizar con un ciclo y demas, pero por ahora asi esta, si alguien lo necesita modifiquelo de forma que sea mas optimo. Gracias por la atencion prestada. function digito_verificacion_bancario($codigo) { Try { $suma = 0; $multi = 0; $digito = 0; $sigue = 0; $n1 = substr($codigo, 0, 1) * 1; $n2 = substr($codigo, 1, 1) * 2; $n3 = substr($codigo, 2, 1) * 1; $n4 = substr($codigo, 3, 1) * 2; $n5 = substr($codigo, 4, 1) * 1; $n6 = substr($codigo, 5, 1) * 2; $n7 = substr($codigo, 6, 1) * 1; $n8 = substr($codigo, 7, 1) * 2; $n9 = substr($codigo, 8, 1) * 1; $n10 = substr($codigo, 9, 1) * 2; $n11 = substr($codigo, 10, 1) * 1; $n12 = substr($codigo, 11, 1) * 2; $n13 = substr($codigo, 12, 1) * 1; $n14 = substr($codigo, 13, 1) * 2; $n15 = substr($codigo, 14, 1) * 1; $n16 = substr($codigo, 15, 1) * 2; $n17 = substr($codigo, 16, 1) * 1; $suma = 0; if ($n1 < 10) { $suma = $suma + $n1; } else { $suma = $suma + 1 + ($n1 - 10); } if ($n2 < 10) { $suma = $suma + $n2; } else { $suma = $suma + 1 + ($n2 - 10); } if ($n3 < 10) { $suma = $suma + $n3; } else { $suma = $suma + 1 + ($n3 - 10); } if ($n4 < 10) { $suma = $suma + $n4; } else { $suma = $suma + 1 + ($n4 - 10); } if ($n5 < 10) { $suma = $suma + $n5; } else { $suma = $suma + 1 + ($n5 - 10); } if ($n6 < 10) { $suma = $suma + $n6; } else { $suma = $suma + 1 + ($n6 - 10); } if ($n7 < 10) { $suma = $suma + $n7; } else { $suma = $suma + 1 + ($n7 - 10); } if ($n8 < 10) { $suma = $suma + $n8; } else { $suma = $suma + 1 + ($n8 - 10); } if ($n9 < 10) { $suma = $suma + $n9; } else { $suma = $suma + 1 + ($n9 - 10); } if ($n10 < 10) { $suma = $suma + $n10; } else { $suma = $suma + 1 + ($n10 - 10); } if ($n11 < 10) { $suma = $suma + $n11; } else { $suma = $suma + 1 + ($n11 - 10); } if ($n12 < 10) { $suma = $suma + $n12; } else { $suma = $suma + 1 + ($n12 - 10); } if ($n13 < 10) { $suma = $suma + $n13; } else { $suma = $suma + 1 + ($n13 - 10); } if ($n14 < 10) { $suma = $suma + $n14; } else { $suma = $suma + 1 + ($n14 - 10); } if ($n15 < 10) { $suma = $suma + $n15; } else { $suma = $suma + 1 + ($n15 - 10); } if ($n16 < 10) { $suma = $suma + $n16; } else { $suma = $suma + 1 + ($n16 - 10); } if ($n17 < 10) { $suma = $suma + $n17; } else { $suma = $suma + 1 + ($n17 - 10); } $multi = round($suma / 10, 0, PHP_ROUND_HALF_DOWN) * 10; if ($multi == $suma) { $digito = 0; } else { $digito = round($suma / 10, 0, PHP_ROUND_HALF_DOWN); $sigue = $digito * 10 + 10; $digito = $sigue - $suma; } if($digito<10){ return $digito; }else{ $digito=substr($digito, 1, 1); return $digito; } } catch (Exception $exc) { return "Error: ".$exc->getTraceAsString(); } } |
| ||||
Respuesta: Digito Verificacion Colombia Es que no te has leído mi post? Te he dejado un enlace (son esas palabritas que salen sombreadas en gris y con la letra naranja). Si lo sigues verás que es una página de la wikipedia que habla de lo que pides y si te molestas en darle al scroll un par de veces para abajo, verás el código PHP directamente colocado en la web, pero bueno, no vaya a ser que te dé un jamacuco, te lo pego aquí, que lo verás mejor:
Código PHP:
Ver original Un saludo.
__________________ ¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis? |
Etiquetas: |