Visa ett inlägg
Oläst 2012-10-04, 22:48 #8
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
Pseudocode:
Kod:
begin function getChecksiffra(text siffror) returns text 
    integer summa = 0
    for (integer index = siffror.length to 0 step -1)
        integer siffervärde = value(siffror[index])
        // varannan gångras med 2 och varannan med 1...
        siffervärde = siffervärde * (((index+1) mod 2) +1) 
        if (siffervärde>9)
            summa += siffervärde-9
            summa += siffervärde mod 10
        else
            summa += siffervärde 
        endif
    end for
    text checksiffra = chr(10 - (summa mod 10))
    return checksiffra // som text
end function

text nr = "811218987"
text personnummer = nr + getChecksiffra(nr)
print "Personnummer: " + String.Format("999999-9999",personnummer))
// Personnummer: 811218-9876

Senast redigerad av Conny Westh den 2012-10-04 klockan 23:00
Conny Westh är inte uppkopplad   Svara med citatSvara med citat