有人知道为什么即使在类型转换后unicode字符串的类型也不会改变。这是在Python中,我有一个我试过的样本 - 与我脚本中的内容类似。
我需要检查2个变量(整数)是否应该相等。其中一个是int而另一个是int,即使在使用int / float类型之后,类型也永远不会从unicode更改。
>>> x = 999.99
>>> type(x)
<type 'float'>
>>> x = u'999.99'
>>> type(x)
<type 'unicode'>
>>> x.decode('utf-8')
u'999.99'
>>> type(x)
<type 'unicode'>
>>> float(x)
999.99
>>> type(x)
<type 'unicode'>
>>> int(float(x))
999
>>> type(x)
<type 'unicode'>
>>>
答案 0 :(得分:2)
float(x)
实际上并未修改x
,它只返回float
- 它的版本。我想你想要的是:
x = int(float(x))