例如,标准除法符号“/”四舍五入为零:
>>> 4 / 100 0
但是,我希望它返回0.04。我该使用什么?
试试4.0/100
一个简单的路线4/100.0
或者
4.0/100
您需要告诉 Python 使用浮点值,而不是整数。你可以简单地在输入中使用一个小数点:
>>> 4/100.0 0.040000000000000001
有三种选择:
>>> 4 / float(100) 0.04 >>> 4 / 100.0 0.04
这和 C,C + + ,Java 等等的行为是一样的,或者
>>> from __future__ import division >>> 4 / 100 0.04
您还可以通过将参数 -Qnew传递给 Python 解释器来激活这种行为:
-Qnew
$ python -Qnew >>> 4 / 100 0.04
第二个选项是 Python 3.0中的默认选项。如果希望使用旧的整数除法,则必须使用 //运算符。
//
编辑 : 增加了关于 -Qnew的部分,感谢 Something ΩD? ? ? ? ? !
将一个或两个术语作为浮点数,如下所示:
4.0/100.0
或者,打开 Python 3.0中默认的特性“真正的除法”,它可以做你想做的事情。在模块或脚本的顶部,执行:
from __future__ import division
你不能通过将一个整数除以另一个整数来得到一个十进制值,你将总是通过这种方式得到一个整数(结果被截断为整数)。至少需要一个值才能是十进制数。
其他答案建议如何获得浮点值。虽然这将接近你想要的,但它不会是精确的:
>>> 0.4/100. 0.0040000000000000001
如果你真的想要一个 十进制值,这样做:
>>> import decimal >>> decimal.Decimal('4') / decimal.Decimal('100') Decimal("0.04")
这将给你一个对象,正确地知道4/100在 基数10是“0.04”。浮点数实际上以2为基数,即二进制,而不是十进制。
您可能还想查看 Python 的 十进制包,这将提供很好的十进制结果。
>>> decimal.Decimal('4')/100 Decimal("0.04")
这里我们给出了两种可能的情况
from __future__ import division print(4/100) print(4//100)
从未来图书馆导入分类如下:
from__future__ import division
在代码中添加以下函数及其回调。
# Starting of the function def divide(number_one, number_two, decimal_place = 4): quotient = number_one/number_two remainder = number_one % number_two if remainder != 0: quotient_str = str(quotient) for loop in range(0, decimal_place): if loop == 0: quotient_str += "." surplus_quotient = (remainder * 10) / number_two quotient_str += str(surplus_quotient) remainder = (remainder * 10) % number_two if remainder == 0: break return float(quotient_str) else: return quotient #Ending of the function # Calling back the above function # Structure : divide(<divident>, <divisor>, <decimal place(optional)>) divide(1, 7, 10) # Output : 0.1428571428 # OR divide(1, 7) # Output : 0.1428
该函数是在“欧几里得除法”的基础上实现的。如果您不想在项目中导入任何外部头文件,那么这个函数非常有用。
同义词: 除([除数] ,[除数] ,[小数位(可选))
密码: divide(1, 7, 10)或 divide(1, 7)
divide(1, 7, 10)
divide(1, 7)
如果有任何疑问,请在下面发表评论。
您也可以尝试在数字的末尾加上一个“ .0”。
只是把小数部分放在小数后面。 你试过吗: 4.0/100