Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
字符串到int/float的转换在python中对raspberry pi不起作用_Python_String_Floating Point - Fatal编程技术网

字符串到int/float的转换在python中对raspberry pi不起作用

字符串到int/float的转换在python中对raspberry pi不起作用,python,string,floating-point,Python,String,Floating Point,我试图通过mqtt将网络上的esp32中的值发送到我的RPi,然后mqtt对这些值进行评估并对其执行一些操作 我已经编写了代码,并在我的pc上进行了尝试,没有出现任何问题,但在RPi上执行完全相同的代码时,它开始吐出ValueErrors payload = str(message.payload) payload = float(payload[2:-1]) 当像这样运行代码时,它会说: ValueError: could not convert string to float: 尝试先将

我试图通过mqtt将网络上的esp32中的值发送到我的RPi,然后mqtt对这些值进行评估并对其执行一些操作

我已经编写了代码,并在我的pc上进行了尝试,没有出现任何问题,但在RPi上执行完全相同的代码时,它开始吐出
ValueError
s

payload = str(message.payload)
payload = float(payload[2:-1])
当像这样运行代码时,它会说:

ValueError: could not convert string to float:
尝试先将其转换为整数也会返回错误:

ValueError: invalid literal for int() with base 10: ''
(需要[2:-1],因为要转换的有效负载/字符串始终作为b'payload'接收)

它在pc上使用时不会抛出任何错误。我还尝试在转换字符串之前打印出字符串,这表明它们只由数字组成

我在我的pc和RPi上都运行Python3.4(也尝试了2.7,但没有成功)

我希望任何人都能向我解释这种奇怪的行为,提前谢谢

  • 切片不是将字节数组转换为
    str
    的正确方法

  • string[2:-1]
    为任何小于3个字符的
    字符串返回空字符串

  • 事实上,
    int
    float
    都接受表示数字的字节数组,所以您甚至不必麻烦

    float(message.payload)
    应该可以工作(如果它不是空的,当然代表一个数字)