python - 在 Python 中将分数转换为小数

标签 python python-2.x

我想在 python 中转换 1/2,这样当我说 print x(其中 x = 1/2)时它返回 0.5

我正在寻找最基本的方法,不使用任何拆分函数、循环或映射

我试过 float(1/2) 但我得到 0... 有人可以向我解释为什么以及如何解决它吗?

是否可以在不修改变量 x= 1/2 的情况下执行此操作?

最佳答案

在 python 3.x 中,任何除法都返回一个 float ;

>>> 1/2
0.5

要在 python 2.x 中实现这一点,您必须强制进行 float 转换:

>>> 1.0/2
0.5

或者从“ future ”导入师

>>> from __future__ import division
>>> 1/2
0.5

一个额外的:没有内置的分数类型,但是在 Python 的标准库中有一个:

>>> from fractions import Fraction
>>> a = Fraction(1, 2) #or Fraction('1/2')
>>> a
Fraction(1, 2)
>>> print a
1/2
>>> float(a)
0.5

等等……

关于python - 在 Python 中将分数转换为小数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4841732/

相关文章:

Python递归函数缺少结果

python - 将产品添加到购物车无法正常工作

python - 在 python 3.x 中删除 raw_input() 的原因是什么?

python - print 是 Python 中的一个函数吗?

python - 在设计猜猜 python 中的数字列表的游戏时遇到麻烦

c++ - 我在哪里定义代码来释放在 C Python 模块 init 函数中分配的资源?

python - 为什么使用字典测试包含比使用集合测试更快?

python - 如何使用正则表达式匹配 10 个带空格或不带空格的数字?

python - 删除python中变量使用的ram空间,防止内存转储攻击

python - python 脚本中的自动完成文件名