python中的long int或double

时间:2014-12-22 00:11:52

标签: double long-integer python-3.4

如何在Python 3.4中将m和n转换为long int或double?目前对于大整数(例如:65535),输出为“无”'

m = eval(input("Enter value for m: "))
n = eval(input("Enter value for n: "))

2 个答案:

答案 0 :(得分:1)

>>> float("1234.56")
1234.56
>>> int("1234")
1234
>>> long("12345678910")
12345678910

float()int()运算符就足够了,因为Python浮点数通常相当于C双精度数,如果整数太大,int()会将它转换为长整数INT。但是,如果要显式转换为long,long()运算符将起作用。

Python Numeric Types Docs了解更多信息。

eval()函数不是类型转换操作符,而是将字符串或代码对象评估为Python代码,如果您不小心可能会导致问题:

>>> eval("1+2")
2

答案 1 :(得分:0)

input()返回一个字符串,在评估时返回None。如果您尝试为变量分配整数值,请使用int()函数:

m = int(input("Enter value for m: "))
n = int(input("Enter value for n: "))

此外,使用eval几乎总是一个坏主意,因为它使用脚本的权限将输入作为Python代码运行。如果您必须翻译输入,请考虑改为使用ast.literal_eval