la letra del nif es la misma que la del dni?

Estoy rellenando unos formularios y me ha surgido la duda, ¿si la letra del NIF es la misma que la del DNI o pasaporte?

Gracias por adelantado. Y perdón por la chorrada
SI

A "grosso modo", el DNI, es, como su nombre indica, el documento que te identifica y de alguna manera "certifica" que tú eres tú.

El NIF es simplemente el número de identificación Fiscal que te "asigna" el Estado para cuestiones tributarias. Es el mismo número sólo que añadiendole una letra (en función del número de DNI. Hay programas para hallar la letra correspondiente a un número).

Con el nuevo DNI (nuevo me refiero al formato actual "pequeño" con el que llevamos varios años) se incluyó ya la letra. Antes con el carnet grande (el azul), llegado el momento, te enviaban una tarjeta con la letra que te correspondia.

Pero vamos, que es lo mismo XD
El DNI es el número, el NIF es el número y la letra.

Por ejemplo si en el carnet te pone 12345678-A entonces:

DNI=12345678
NIF=12345678-A
HAce un tiempo en el DNI no habia letra y tenieas que pedir el NIF aparte que era un papelito azul y blanco plastificado to cutre, que solo ponia el numero de dni+la letra del nif XD
Menos mal que lo unificaron todo con el DNI, esque era una tonteria muy gorda :p
Gracias. Lo suponía.

P.D: Este hilo está tomando unos aires históricos muy interesantes.

Aver quien escanea su antiguo DNI azul para que nos hagamos una idea los jovenes
Yo tengo una fotocopia en casa. A ver si me acuerdo y lo traigo esta tarde...tapando la foto, por supuesto... XD (no sólo por aquí, que tambien, si no porque tengo unas pintillas que....XD)
La letra del NIF es, al fin y al cabo, un código de control.

Para obtenerlo, haced lo siguiente.

Dividid vuestro DNI entre 23 y al resto de la división, sumadle 1.

El resultado estará comprendido entre 1 y 23. Pues bien, ahora haced la correspondencia:

TRWAGMYFPDXBNJZSQVHLCKE

(siendo 1 = T y 23 = E).

O el Delphi:


const letra='TRWAGMYFPDXBNJZSQVHLCKE';
var nif, dni:string;
  begin
     dni:= '11111111';
     nif:= letra[((strtoint(dni)) mod 23)+1];
   end;


12345678/23=536768,60869565217391304347826087+1=
=536769,60869565217391304347826087

No sale de 1 a 23 :-| , se desvia un poco.
Podrias explicar pues, como se hace?
Perdón. Se me olvidó decir que había que coger el RESTO de la división, no el cociente :p
Como dicen, consiste en sumar todos los dígitos numéricos de tu DNI. La suma se divide entre 23, que es la longitud del rango de letras a asingar. Con el cociente obtenido, se suma 1 (por si la división es exacta y el cociente es 0). Y entonces, se busca esa posición en la lista de caracteres.
9 respuestas