Hallo,
Ich habe einen Code geschrieben mit dem Ihr die Prüfziffer einer EAN nummer berechnen könnt und damit überprüfen könnt ob der EAN gültig ist oder nicht.
Wie wird die Prüfziffer berechnet?
-> Die einzelnen Ziffern werden abwechselnd mit 1 und 3 Multipliziert(bis auf die Letzte Ziffer da dies die Prüfsumme ist).
-> auf das ergebnis der einzelnen Ziffern wird dann Modulo 10 angewandt um die einerstelle rauszufiltern.
-> Diese einerstellen werden dann miteinander Addiert
-> Auf das Ergebnis wird dann wieder Modulo 10 angewandt und das Ergebnis ist dann die Prüfziffer.
Beispiel:
Und nun der VB.NET Source:
Ich hoffe Ihr könnt damit was anfangen
Kritik und vorschläge wie immer erwünscht.
Gruß,
Julian
Ich habe einen Code geschrieben mit dem Ihr die Prüfziffer einer EAN nummer berechnen könnt und damit überprüfen könnt ob der EAN gültig ist oder nicht.
Wie wird die Prüfziffer berechnet?
-> Die einzelnen Ziffern werden abwechselnd mit 1 und 3 Multipliziert(bis auf die Letzte Ziffer da dies die Prüfsumme ist).
-> auf das ergebnis der einzelnen Ziffern wird dann Modulo 10 angewandt um die einerstelle rauszufiltern.
-> Diese einerstellen werden dann miteinander Addiert
-> Auf das Ergebnis wird dann wieder Modulo 10 angewandt und das Ergebnis ist dann die Prüfziffer.
Beispiel:
Quellcode
- 9 7 8 3 1 6 1 4 8 4 1 [0]───────┐
- * * * * * * * * * * * │
- 1 3 1 3 1 3 1 3 1 3 1 │
- = = = = = = = = = = = │
- 9 21 8 9 1 18 1 12 8 12 1 │
- ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼────── MOD 10 │
- 9 + 1 + 8 + 9 + 1 + 8 + 1 + 2 + 8 + 2 + 1 │
- │ │ │ │ │ │ │ │ │ │ │ │
- └───────┴───────┴───────┴───────┴───────┼───────┴───────┴───────┴───────┴───────┘ │
- (10-50) │
- ├────────────────────────────────────────────── MOD 10 │
- 0 │
- └─────────────────────────────────────────────────────────┘
Und nun der VB.NET Source:
VB.NET-Quellcode
- ''' <summary>
- ''' Überprüft die Prüfziffer des angegebenen EAN Codes.
- ''' </summary>
- ''' <param name="EAN">Der EAN-Code der überprüft werden soll.</param>
- ''' <returns>Wenn die Prüfziffer stimmt, True ansonsten False.</returns>
- ''' <remarks></remarks>
- Function CheckChecknumber(ByVal EAN As String) As Boolean
- Dim chars() As Char = EAN.Substring(0, EAN.Length - 1).ToCharArray
- Dim Multiplikator = 1
- Dim CheckNumber = 0
- Dim numb = 0
- For Each c In chars
- If Integer.TryParse(c, numb) Then
- CheckNumber += (numb Mod 10) * Multiplikator
- Multiplikator = If(Multiplikator = 1, 3, 1)
- End If
- Next
- Return If(((10 - CheckNumber Mod 10) Mod 10) = Integer.Parse(EAN.Last), True, False)
- End Function
- ''' <summary>
- ''' Generiert die Prüfziffer des Angegebenen EAN Codes.
- ''' </summary>
- ''' <param name="EAN">Der EAN Code aus dem die Prüfziffer Generiert werden soll.</param>
- ''' <returns>Gibt die Prüfziffer des angegebenen EAN Codes zurück</returns>
- ''' <remarks></remarks>
- Function GetChecknumber(ByVal EAN As String) As Integer
- Dim Numbers() As Char = EAN.ToCharArray
- Dim Multiplikator As Integer = 1
- Dim CheckNumber As Integer = 0
- Dim numb = 0
- For Each c As Char In Numbers
- If Integer.TryParse(c, numb) Then
- CheckNumber += (numb Mod 10) * Multiplikator
- Multiplikator = If(Multiplikator = 1, 3, 1)
- End If
- Next
- Return (10 - CheckNumber) Mod 10
- End Function
Ich hoffe Ihr könnt damit was anfangen
Kritik und vorschläge wie immer erwünscht.
Gruß,
Julian
Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „Gelöschter Benutzer“ ()