Calcular el digito de control
Calculadora de dígitos de control isbn
El proyecto para el que estaba construyendo este código ya está en marcha – es parte de una amplia base de datos de códigos de barras y un conjunto de herramientas – e incluye un validador de códigos de barras a gran escala (100 en un lote para los usuarios no registrados, 10.000 para los registrados) – https://blinked.in/tools/validator
Necesitaba calcular el dígito de control de un gran número de códigos de barras para un programa de generación de etiquetas. Primero empecé con una variación de la respuesta de Luciano Carvalho de arriba, pero tenía un poco de curiosidad por el casting de la cadena a un char a un int. Sospeché que podría mejorar un poco el rendimiento.
Los códigos de longitud desigual son manejados por el (i + code.Length % 2) que hace el patrón 31313 13131 para los códigos de longitud desigual. Evita la creación de objetos y tarda 134 ms (en mi PC) en calcular los dígitos de control para todos los códigos EAN-8.
Sé que la pregunta se refería a un método IsValidEan(), pero si tienes una librería con métodos probablemente necesitarás éste de todas formas. IsValidEan() debería llamar a esto para la verificación de los dígitos de control después de la longitud y otras comprobaciones.
Calculadora de dígitos de control del código 128
El proyecto para el que estaba construyendo este código ya está en marcha – es parte de una amplia base de datos de códigos de barras y un conjunto de herramientas – e incluye un validador de códigos de barras a gran escala (100 en un lote para los usuarios no registrados, 10.000 para los registrados) – https://blinked.in/tools/validator
Necesitaba calcular el dígito de control de un gran número de códigos de barras para un programa de generación de etiquetas. Primero empecé con una variación de la respuesta de Luciano Carvalho de arriba, pero tenía un poco de curiosidad por el casting de la cadena a un char a un int. Sospeché que podría mejorar un poco el rendimiento.
Los códigos de longitud desigual son manejados por el (i + code.Length % 2) que hace el patrón 31313 13131 para los códigos de longitud desigual. Evita la creación de objetos y tarda 134 ms (en mi PC) en calcular los dígitos de control para todos los códigos EAN-8.
Sé que la pregunta se refería a un método IsValidEan(), pero si tienes una librería con métodos probablemente necesitarás éste de todas formas. IsValidEan() debería llamar a esto para la verificación de los dígitos de control después de la longitud y otras comprobaciones.
Validación del dígito de control
Todos los GTIN necesitan un dígito de control, que es el último dígito del número. El dígito de control se calcula a partir de todos los dígitos anteriores, y es utilizado por cualquier sistema de escaneo para comprobar que el número escaneado de un código de barras es correcto. Esta calculadora puede utilizarse para calcular el dígito de control de sus GTIN y del código de contenedor de envío en serie (SSCC), de 18 dígitos, utilizado para identificar las unidades logísticas.
Elija la opción de GTIN o SSCC adecuada en la lista desplegable de al lado. La siguiente tabla explica qué GTINs suelen aparecer en qué códigos de barras GS1. Recuerde que un cero a la izquierda delante de un GTIN-13 no cambia el número, sino que simplemente permite imprimirlo en un código de barras que requiere 14 dígitos, como un código de barras ITF-14 o GS1-128.
Número de localización global (GLN), identificador global de activos retornables (GRAI), número global de cupón (GCN), identificador global de tipo de documento (GDTI). Todos ellos incorporan, como mínimo, un número de 13 dígitos y el dígito de control es el mismo que el de un GTIN-13.
Calculadora de dígitos de control a granel
Un dígito de control es una forma de comprobación de redundancia utilizada para la detección de errores en los números de identificación, como los números de cuentas bancarias, que se utilizan en una aplicación en la que al menos a veces se introducen manualmente. Es análogo a un bit de paridad binario que se utiliza para comprobar los errores en los datos generados por ordenador. Consiste en uno o más dígitos (o letras) calculados por un algoritmo a partir de los demás dígitos (o letras) de la secuencia de entrada.
Esta sección no cita ninguna fuente. Por favor, ayude a mejorar esta sección añadiendo citas de fuentes fiables. El material sin fuente puede ser cuestionado y eliminado. (Abril 2010) (Aprende cómo y cuándo eliminar este mensaje de la plantilla)
A la hora de elegir un sistema, la probabilidad de detectar errores se contrapone a la dificultad de implementación; los sistemas de dígitos de control sencillos son fáciles de entender e implementar por los humanos, pero no detectan tantos errores como los complejos, que requieren programas sofisticados para su implementación.
Si se añade un solo dígito de control al número original, el sistema no siempre captará los errores múltiples, como dos errores de sustitución (12 → 34) aunque, normalmente, los errores dobles se detectarán el 90% de las veces (ambos cambios tendrían que modificar la salida en cantidades compensadas).