即使在类型转换python之后,unicode的类型也不会改变

即使在类型转换python之后,unicode的类型也不会改变,python,string,unicode,Python,String,Unicode,有人知道为什么unicode字符串的类型即使在类型转换之后也不会改变吗。这是用Python编写的,我有一个我尝试过的示例——与我的脚本中的情况类似 我需要检查两个变量(int)是否相等。其中一个是int,但另一个,即使使用int/float类型,类型也不会从unicode更改 >>> x = 999.99 >>> type(x) <type 'float'> >>> x = u'999.99' >>> type(

有人知道为什么unicode字符串的类型即使在类型转换之后也不会改变吗。这是用Python编写的,我有一个我尝试过的示例——与我的脚本中的情况类似

我需要检查两个变量(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'>
>>> 
>x=999.99
>>>类型(x)
>>>x=u'999.99'
>>>类型(x)
>>>x.解码('utf-8')
u'999.99'
>>>类型(x)
>>>浮动(x)
999.99
>>>类型(x)
>>>整数(浮点(x))
999
>>>类型(x)
>>> 
float(x)
实际上并没有修改
x
,它只是返回一个
float
的铸造副本。我想你想要的是:

x = int(float(x))