AppleScript名:全国地方公共団体コードのチェックサム算出 v2 |
set chkSum to chkModulas11("01100") of me
–全国地方公共団体コードのチェックサム算出 on chkModulas11(aCodeNumStr) if length of (aCodeNumStr as string) is not equal to 5 then return false set cList to characters of (aCodeNumStr as string) set aMultNum to 6 set aRes to 0 –第1桁から第5桁までの数字に、それぞれ6.5.4.3.2を乗じて算出した積の和を求め repeat with i in cList set j to i as number set aRes to aRes + j * aMultNum set aMultNum to aMultNum – 1 end repeat if aRes < 11 then –ただし、積の和が11より小なるときは、検査数字は、11から積の和を控除した数字とする set eRes to 11 – aRes else –通常パターン –その和を11で除し、商と剰余(以下「余り数字」という。)を求めて set cRes to aRes mod 11 –余りだけでよいのでは? 商を求めなくても余りは計算可能 set dRes to 11 – cRes set eRes to last character of (dRes as string) –下1桁の数字を検査数字とする end if return eRes as number end chkModulas11 |
(Visited 31 times, 1 visits today)