我是NAV的新手,所以也许我的问题看起来有点像菜鸟,但在这里。 我创建了一个表,其中有一个名为ID号的字段,用户需要输入一个代表他/她ID的10位Biginteger(或代码,IDK更好)。 我必须创建一个函数,通过检查它是否满足以下条件来检查这个数字是否正确:
如果number为ABCDEFGHIJ
,则数字J(称为控制数字)必须等于:
J=13-( 7*(A+G) + 6*(B+H) + 5*(C+I) + 4*(D+J)) MOD 13
并且还需要满足以下标准:
J <= 9 -> X = J
J > 9 -> X = 0
我认为首先使用函数FORMAT将整数转换为字符串,然后将COPYSTR
转换为每个局部变量A,B,C,D ......但它不起作用:(
任何人都可以帮我解决正确的代码吗?
答案 0 :(得分:1)
Str:= format(“Id”);答:=海峡[1]; B:=海峡[2];
等等...
或者如果你想要A,B,C作为整数。
Str:= format(“Id”);评价(A,Str [1]);评估(B,Str [2]);
答案 1 :(得分:0)
您可以尝试使用此代码,因为它对我有用:
Num : BigInteger;
Digits : Array of Byte;
I : Integer;
FOR i := 10 DOWNTO 1 DO BEGIN
Digits[i] := Num MOD 10;
Num := Num DIV 10;
END;
如果它不适合你,请告诉我。