使用其他值类型转换值

loo*_*e11 5 python

是否可以代表其他数字?我试过这个,但是类型返回一个字符串.

n = 1.34
i = 10
type(i)(n)
Run Code Online (Sandbox Code Playgroud)

bri*_*pck 4

如前所述,您的示例运行良好:

>>> from decimal import Decimal
>>> a = 5
>>> b = 5.0
>>> c = Decimal(5)
>>> type(a)
<class 'int'>
>>> type(b)
<class 'float'>
>>> type(c)
<class 'decimal.Decimal'>
Run Code Online (Sandbox Code Playgroud)

将 b (float) 转换为 a 的类型 (int):

>>> type(a)(b)
5
Run Code Online (Sandbox Code Playgroud)

将 a (int) 转换为 b 类型 (float):

>>> type(b)(a)
5.0
Run Code Online (Sandbox Code Playgroud)

将 a (int) 转换为 c 类型(十进制):

>>> type(c)(a)
Decimal('5')
Run Code Online (Sandbox Code Playgroud)

请注意,Python 的鸭子类型通常使这种类型的转换变得不必要,尽管我可以想象在某些情况下它会很有用。