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

  • 01:09 Совместные покупки
  • 19:41 Kataloger med erbjudanden för vuxn
  • 19:40 Kataloger med erbjudanden för vuxn
  • 18:00 Online med coola bonusar
  • 17:59 Rekommendation för en spelsajt
  • 17:58 En snabb och trevlig sajt utan lag
  • 20:23 Tips för att välja rätt CBD-styrka
  • 10:01 Erfarenheter av gentaur.se beställ

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 771
27 969
271 826
327
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