有谁知道如何将int
转换为float
。
由于某种原因,它继续打印0.我希望它打印一个特定的小数。
sum = 144
women_onboard = 314
proportion_womenclass3_survived = sum / np.size(women_onboard)
print 'Proportion of women in class3 who survived is %s' % proportion_womenclass3_survived
答案 0 :(得分:28)
要在Python中将整数转换为float,您可以使用以下命令:
float_version = float(int_version)
你得到0
的原因是,如果数学运算(这里是一个除法)在两个整数之间,Python 2会返回一个整数。因此,虽然144乘314的除法是0.45 ~~~,但Python将其转换为整数,并通过消除小数点后的所有数字返回0
。
或者,您可以将任何操作中的一个数字转换为float,因为float和integer之间的操作将返回float。在您的情况下,您可以写float(144)/314
或144/float(314)
。另一个不太通用的代码是144.0/314
。这里144.0
是一个浮点数,所以它是一样的。
答案 1 :(得分:10)
除了John的答案之外,你还可以创建一个变量float,结果将产生浮动。
>>> 144 / 314.0
0.4585987261146497
答案 2 :(得分:3)
在Python 3中,这是默认行为,但如果你没有使用它,你可以像这样导入部门:
>>> from __future__ import division
>>> 144/314
0.4585987261146497
或者,您可以在进行分割时将其中一个变量强制转换为浮点数,这将执行相同的操作
sum = 144
women_onboard = 314
proportion_womenclass3_survived = sum / float(np.size(women_onboard))
答案 3 :(得分:3)
你可以乘以1.0
>>> 1.0*144/314
0.4585987261146497
答案 4 :(得分:0)
您可以使用以下方法将其转换为浮点数:
float_value = float(integer_value)
同样,您可以使用以下方法将整数转换回浮点数据类型:
integer_value = int(float_value)
希望有帮助。我建议您在以下链接中阅读“ Python的内置函数”: https://docs.python.org/2/library/functions.html
答案 5 :(得分:0)
以上提供的答案绝对正确,值得阅读,但我只是想对这个问题给出一个直接的答案。
提出的问题只是类型转换问题,在这里它是从int
数据类型到float
数据类型的转换,为此,您可以通过以下函数来实现:
float()
有关更多详细信息,请访问this页面。