这是来自Excel宏(VB)的代码,我该如何重写它,使其在Adobe Acrobat上工作?
例如nummer是“ 161628686041430”
Function upsp(nummer)
' Übergeben wird KdNr+Serviceart+Paketnummer (ohne 1Z)
'
qsm = 0
For i = 1 To 15
p = Mid(nummer, i, 1)
If Asc(p) > 57 Then p = (Asc(p) - 63) Mod 10
qsm = qsm + (p * (2 - i Mod 2))
Next
upsp = 10 - (qsm Mod 10)
If upsp = 10 Then upsp = 0
End Function
该函数的结果应为“ 2”。
感谢帮助。
最佳答案
我认为这就是您要寻找的东西,我试图尽可能与Excel代码保持紧密联系,希望它会更容易理解。如果您有任何疑问,请告诉我...
alert(upsp('161628686041430'));
function upsp(nummer) {
var qsm;
var p;
var returnValue;
qsm = 0;
for (var i = 0; i < nummer.length; i++) {
p = nummer.substr(i, 1);
if (p.charCodeAt(0) > 57) {
p = (p.charCodeAt(0) - 63) % 10;
}
qsm = qsm + (p * (2 - ((i + 1) % 2)));
}
returnValue = 10 - (qsm % 10);
if (returnValue === 10) {
returnValue = 0;
}
return returnValue;
}