2 jul. 2008

Calcular la letra del DNI

Cómo se calcula la letra del NIF:

Con EXCEL:

=CONCATENAR(A1;EXTRAE("TRWAGMYFPDXBNJZSQVHLCKE";RESIDUO(A1;23)+1;1))
Siendo A1 la celda de origen del DNI sin letra.


Con SAP (ABAP):

FORM resultado USING VALUE(GV_NUMBER)
DATA GV_result(9) TYPE c.
DATA lt_letters(24) TYPE c VALUE 'TRWAGMYFPDXBNJZSQVHLCKE'.
DATA lv_num TYPE i.
DATA lv_number(8) type n.
lv_number = gv_number.
lv_num = gv_number MOD 23.
gv_character = lt_letters+lv_num(1).
CONCATENATE lv_number gv_character INTO gv_result.
ENDFORM. " resultado

Siendo gv_result el nº de nif con la letra.


Con Python:

DNI=12345678NIF='TRWAGMYFPDXBNJZSQVHLCKE'print "El NIF del DNI es", NIF[DNI%23]


Con C++:

#include
const char letra[] = "TRWAGMYFPDXBNJZSQVHLCKE";
const int kTAM = 8; // numero de cifras para el DNI
using namespace std;
int main (int argc, char *argv[]) {
int dni;
if (argc != 2)
cout << "uso: " <<>\n\n";
else {
if (strlen(argv[1]) != kTAM)
cout << "DNI no valido.\n\n";
else {
dni = atoi (argv[1]);
dni %= 23;
cout <<>

No hay comentarios: