在Python中,哪个函数与VB6中的Val()等价?

2024-03-29 09:34:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在将一些程序从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中哪个函数类似?


Tags: 函数代码程序moddatabasicvalvb
2条回答

尝试int(bNoOfBytes)

例如:chr(int("65"))将返回A

python中没有内置函数等同于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

相关问题 更多 >