我将某些程序从Visual Basic 6.0转换为Python,而我在VB中陷入了一行。
Visual Basic代码:
bAddStart = "100"
bNoOfBytes = "94"
MeterId = 1
Data = Chr(MeterId) + Chr(3) + Chr(Val(bAddStart) \ 256) + Chr(Val(bAddStart) Mod 256) + Chr(0) + Chr(Val(bNoOfBytes))
对于VB中的函数Chr
,我在Python中使用chr()
对于Val
函数,这是Python中的类似函数吗?
答案 0 :(得分:1)
python中有 no inbuilt function ,相当于 Val() 。您必须实现自己的功能。我在之前遇到类似问题时使用了这段代码 -
def val(data):
y=0
nst=""
dlist = ['0','1', '2', '3', '4', '5', '6', '7', '8', '9']
for x in data:
for i in dlist:
if x == i:
nst=nst+x
n=len(nst)
dcont=n
acum=0
for z in range(n):
y=0
for i in dlist:
if nst[z] == i:
d=y
mult=1
dcont=dcont-1
for j in range(dcont):
mult=mult*10
acum=acum+(d*mult)
y=y+1
return acum
答案 1 :(得分:0)
尝试int(bNoOfBytes)
例如:chr(int("65"))
将返回A
。