edición general
20 meneos
552 clics
Este envío tiene varios votos negativos. Asegúrate antes de menear

Un código detector de errores: la letra del DNI

Un objeto que manejamos prácticamente a diario en nuestra vida es el DNI, el documento nacional de identidad, que está formado por un número de ocho dígitos y, desde hace unos años, también una letra. Muchas personas piensan que esa letra se nos asigna de forma aleatoria, como el número, pero esto no es así. En esta entrada del Cuaderno de Cultura Científica vamos a explicar, aunque es posible que muches de vosotres ya lo conozcáis, cómo se asigna esa letra y cuál es su significado.

| etiquetas: dni , letra , detector , errores
  1. Me han hecho probarlo... :-D
  2. Será la letra del NIF, me suena que el DNI no tenía letra ¿no?
  3. "aunque es posible que muchas de vosotras"...

    ¿Están llamando analfaburras a las mujeres? Es que algo tan tonto como la manera de sacar la letra del DNI lo sabe todo el mundo, pero ahora parece que solo lo sabíamos los seres dotados de testículos.
  4. Gry #4 Gry *
    Es de lo más práctico cuando te piden el DNI para registrarte en alguna chorrada de web y no te admite 12345678Z :-D
  5. #3 Tiene más pinta de ser un error de escritura. Lo cambio para los aludidos... :palm:
  6. #3 "Vosotras, personas..." Que nunca estáis contontas, joder :troll:
  7. #2 El DNI es el Documento y el NIF el Número (de identificación fiscal, que viene en el DNI).
  8. #6 ¿Lo pondré mejor con 'x'? Es que la 'e' igual ya no se lleva...
  9. #8 No corras, no hay escapatoria.
  10. #4 usa el 00000014Z
  11. #11 00000000T 00000001R ...aunque esos si que los capan en muchos sitios
  12. #12 a ver, que era broma... Salió cuando el juicio a la infanta que alegaba que se estaba usando su DNI por error.
  13. Otro código detector de errores es el último dígito de los códigos de barras.
    www.aecoc.es/servicios/herramientas/calculo-digito-control/
  14. #13 A ver, que la noticia desde el principio es un poco chorrada.

    Mucha gente no sabe, pero todo el que haya trabajado mínimamente con dni. o con cifs, o con cuentas bancarias y mas cosas, sabe que hay dígitos de control, que tienen unas reglas de calculo, etc, etc. y los que nos dedicamos a estas cosas ya nos sabemos unos cuantos de memoria como el 0T el 1R o el 12345678Z... ese era mi chiste (sin gracia)
  15. #15 y luego nos toca a los analistas limpiar todas esas mierdas de las BBDD, de los CRM, de las información de facturación...
  16. #16 Pues "haber estudiao".
  17. Ala.... Una idea...

    Public Function LetraNif(Dni As Long, Optional TipoIPF As String) As String
    Dim UniNIE_Num As String
    Dim ProcesarStrDni As String

    ProcesarStrDni = CStr(Dni)
    If Len(ProcesarStrDni) = 6 Then ProcesarStrDni = "0" & ProcesarStrDni
    If Len(ProcesarStrDni) = 5 Then ProcesarStrDni = "00" & ProcesarStrDni
    If Len(ProcesarStrDni) = 4 Then ProcesarStrDni = "000" & ProcesarStrDni
    If Len(ProcesarStrDni) = 3 Then ProcesarStrDni = "0000" & ProcesarStrDni

    ' Extranjeros o tipos especiales
    Select Case Trim(TipoIPF)
    Case "X"

    Case "Y"
    UniNIE_Num = "Y" & CStr(ProcesarStrDni)
    UniNIE_Num = Replace(UniNIE_Num, "Y", 1)
    Dni = CDbl(UniNIE_Num)
    Case "Z"
    ProcesarStrDni = CStr(Dni)
    UniNIE_Num = "Z" & CStr(ProcesarStrDni)
    UniNIE_Num = Replace(UniNIE_Num, "Z", 2)
    Dni = CDbl(UniNIE_Num)
    End Select

    LetraNif = Right(Left("TRWAGMYFPDXBNJZSQVHLCKEO", ((Dni Mod 23) + 1)), 1)
    End Function
  18. #19 ¿Qué lenguaje es ese?
  19. editado por error
  20. #20 Parece Qbasic
  21. #20 Visual Basic #22
  22. #23 gràcies company.
  23. #24 No es mereixen,
comentarios cerrados

menéame