Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Hjälp med funktion

Postades av 2010-11-08 16:06:08 - John Svensson, i forum c# (c-sharp), Tråden har 2 Kommentarer och lästs av 3740 personer

Tjena,

Behöver hjälp med nedan funktion. Håller på att skapa ett litet program till jobbet som slumpar fram namn och skapar personnummer som sedan skall matas in i en databas för testning. Programmet fungerar som det är tänkt men när jag kontrollerar mina slumpade personnummer mot http://www.personnummer.se/ så är oftast kontrollsiffra ogiltlig. Jag vet att det finns flera sidor på nätet ang. detta men ingen kod jag sett verkar fungera riktigt bra.
Någon som vet var felet ligger?

Tacksam för hjälp,
John


/// <summary>
/// Beräkna kontrollsiffran i ett personnummer
/// </summary>
/// <param name="pnr">Personnummer utan sista siffran (19800101-123).</param>
/// <returns>Kontrollsiffran.</returns>
private static int CalculateLastDigit(string pnr)
{
int kontrollsiffra = 0;

//Ta bort bindestreck samt ta bort de två första siffrorna i personnummret "18","19", "20"
pnr = pnr.Replace("-", "");
pnr = pnr.Remove(0, 2);
//----pnr = cMisc.Reverse(pnr);

char[] pnrChars = pnr.ToCharArray();

int newNumber = 0;

bool include = true;

for (int charCount = 0; charCount < pnrChars.Length; charCount++)
{
int number = Convert.ToInt32(pnrChars[charCount]);
if (include)
number *= 2;

include = !include;

if (number > 9)
number -= 9;

newNumber += number;
}

string newNumberAsString = newNumber.ToString();

string last = newNumberAsString.ToString().Substring(newNumberAsString.Length - 1);
kontrollsiffra = 10 - Convert.ToInt32(last);

if (kontrollsiffra == 10)
kontrollsiffra = 0;

return kontrollsiffra;

}


Svara

Sv: Hjälp med funktion

Postades av 2010-11-08 21:49:03 - Martin Adrian

kontrollsiffran är det som som gör att summan blir delbar med 10.

kontrollsiffra = (1000 - newNumber) % 10


Eller:
(1000 - pnr.Select((x,y) => (x-'0')*(2 - y%2)).Select(x => x>9 ? x-9 : x).Sum()) % 10;


Svara

Sv:Hjälp med funktion

Postades av 2010-11-08 22:34:00 - John Svensson

Martin,

Du är en klippa!

Tack så jättemycket för hjälpen.


Svara

Nyligen

  • 19:42 Online Casinos for Haitian Players
  • 19:38 Rekommendera något intressant
  • 19:13 Международная перевозка грузов
  • 00:01 DL Van Tuning | Exclusive Body Kit
  • 12:08 Indian casino
  • 04:14 Vad finns det för kratomalternativ
  • 14:16 Indian online casino
  • 14:15 Indian online casino

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 875
27 965
271 771
554
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies