ISBN13 check digit: Difference between revisions

(Added 11l)
Line 1,514:
978-1788399081 => good
978-1788399083 => bad</pre>
 
=={{header|Visual Basic .NET}}==
{{trans|C#}}
<lang vbnet>Module Module1
 
Function CheckISBN13(code As String) As Boolean
code = code.Replace("-", "").Replace(" ", "")
If code.Length <> 13 Then
Return False
End If
Dim sum = 0
For Each i_d In code.Select(Function(digit, index) (index, digit))
Dim index = i_d.index
Dim digit = i_d.digit
If Char.IsDigit(digit) Then
sum += (Asc(digit) - Asc("0")) * If(index Mod 2 = 0, 1, 3)
Else
Return False
End If
Next
Return sum Mod 10 = 0
End Function
 
Sub Main()
Console.WriteLine(CheckISBN13("978-1734314502"))
Console.WriteLine(CheckISBN13("978-1734314509"))
Console.WriteLine(CheckISBN13("978-1788399081"))
Console.WriteLine(CheckISBN13("978-1788399083"))
End Sub
 
End Module</lang>
{{out}}
<pre>True
False
True
False</pre>
 
=={{header|Wren}}==
1,452

edits