ISBN 10位校驗碼的計算方法

國際標準書號International Standard Book Number,簡稱ISBN),常用的有10位、13位,從2007年1月1日起國際標準正式修訂爲13位。


10位計算方法如下:

1、假設某國際標準書號號碼前9位是:7-309-04547;

2、計算加權和SS={\color{Red}7}\times10+{\color{Red}3}\times9+{\color{Red}0}\times8+{\color{Red}9}\times7+{\color{Red}0}\times6+{\color{Red}4}\times5+{\color{Red}5}\times4+{\color{Red}4}\times3+{\color{Red}7}\times2=226

3、計算\frac{S}{11}的餘數MM\equiv6\equiv226\pmod{11}

4、計算11-M 的差NN=11-6=5

  • 如果N=10,校驗碼是字母“X”;
  • 如果N = 11,校驗碼是數字“0”;
  • 如果N爲其他數字,校驗碼是數字N

所以,本書的校驗碼是5,故該國際標準書號爲:7-309-04547-5;

VB方法如下:

isbn = InputBox("Please input ISBN", "ISBN")
 k = ""
 For i = 1 To Len(isbn)
     s = Mid(isbn, i, 1)
     If s <> "-" Then
         k = k & s
     End If
 Next
 If Len(k) <> 9 Then
     MsgBox "Wrong Input"
 End If
 a = 0
 For i = 1 To 9
     a = a + (11 - i) *Mid(k, i, 1)
 Next
 a = a Mod 11
 a = 11 - a
 If a = 10 Then
     isbn = isbn & "-X"
 Else
     If a = 11 Then
         isbn = isbn & "-0"
     Else
         isbn = isbn & "-" & a
     End If
 End If
 MsgBox isbn



13位或者其他解釋見:http://zh.wikipedia.org/wiki/%E5%9B%BD%E9%99%85%E6%A0%87%E5%87%86%E4%B9%A6%E5%8F%B7



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章