小编dee*_*dee的帖子

如何将二进制(字符串)转换为浮点值?

我想将二进制数转换为浮点数.这是一个可能性的例子:

>>> float(-0b1110)
Run Code Online (Sandbox Code Playgroud)

给我正确的输出:

-14.0
Run Code Online (Sandbox Code Playgroud)

不幸的是,我正在处理二进制字符串,即我需要类似的东西float('-0b1110').
但是,这不起作用:

>>> float('-0b1110')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: invalid literal for float(): -0b1110
Run Code Online (Sandbox Code Playgroud)

我试图使用binascii.a2b_qp(string[, header])它将一个引用可打印数据块转换回二进制并返回二进制数据.但最终,我得到了同样的错误:

>>> float(binascii.a2b_qp('-0b1110'))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: invalid literal for float(): -0b1110
Run Code Online (Sandbox Code Playgroud)

我理解输出数是一个整数的情况,但如果我想获得数字12.546呢?该函数对二进制字符串的调用是什么样的呢?

python python-3.x

12
推荐指数
4
解决办法
2万
查看次数

标签 统计

python ×1

python-3.x ×1