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 3750 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

  • 22:47 Faktorer som påverkar bilens andra
  • 14:23 Портал о чрезвычайных ситуациях
  • 09:39 Why are here few women buy the les
  • 19:53 Toppkvalitet uppkoppling
  • 16:35 Эскорт вакансии для девушек
  • 14:39 Rainbet Casino
  • 13:47 Professional mining software
  • 13:18 Website builder

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 571 556
27 967
271 795
9 075
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