Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/332.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.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
Python 将unicode字符串转换为浮点_Python_Python 2.7_Python 3.x_Unicode_Type Conversion - Fatal编程技术网

Python 将unicode字符串转换为浮点

Python 将unicode字符串转换为浮点,python,python-2.7,python-3.x,unicode,type-conversion,Python,Python 2.7,Python 3.x,Unicode,Type Conversion,我有Python字符串u'\u221220'aka“−20英寸,带 当我试图转换成一个浮点数时 >>a=u'\u221220' >>>浮动(a) 回溯(最近一次呼叫最后一次): 文件“”,第1行,在 UnicodeEncodeError:“十进制”编解码器无法对位置0中的字符u'\u2212'进行编码:十进制Unicode字符串无效 使用Python 2和 >>a=u'\u221220' >>>浮动(a) 回溯(最近一次呼叫最后一次): 文件“”,第1行,在 ValueError:无法将字符串

我有Python字符串
u'\u221220'
aka“−20英寸,带

当我试图转换成一个浮点数时

>>a=u'\u221220'
>>>浮动(a)
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
UnicodeEncodeError:“十进制”编解码器无法对位置0中的字符u'\u2212'进行编码:十进制Unicode字符串无效
使用Python 2和

>>a=u'\u221220'
>>>浮动(a)
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
ValueError:无法将字符串转换为浮点:'−20'
使用Python 3

如何在Python2和Python3中正确地将
u'\u221220'
转换为float
-20.0
?便携式解决方案非常好。

来自@j-f-sebastian:

a=u'\u221220'
float(a.replace(u'\N{减号}','-'))

这就是诀窍。请参阅。

将所有出现的Unicode减号替换为常规减号,作为解决方法。此外,提交一个应该扩展解析器的票证。它已经支持了比普通旧的
0-9
更多的数字,因此可以添加对该减号表示的支持。请尝试
float(a.replace(u'\N{减号}','-')
作为解决方法。请参阅.@J.F.Sebastian如果您将您的评论提升为答案,我很乐意将其标记为解决方案。该解决方案适用于您的特定输入,但我不太愿意将其称为“将unicode字符串转换为浮点”问题的答案。如果对你有效;你可以