在一次真正超现实的经历中,我花了20分钟完成了一项我认为需要20秒的任务。
我想用三位或三位以上的小数。我不能得到任何超过一个地方,即使在那种情况下,这是胡说八道。
例如,我无法让1/3
显示为0
或0.0
以外的任何内容。
通过谷歌搜索我找到了Decimal,但Decimal也未能帮上忙。
请结束这种折磨,告诉我要做什么才能让1/3
以.333
的身份出现!
编辑谢谢大家把它清理干净!显然,计算机科学家发明了一种叫做整数除法的方法来迷惑和激怒数学家。谢谢你的好意,驱散了我的困惑。
Tags:
在Python 2中,
1/3
执行整数除法,因为两个操作数都是整数。你需要做浮动分割:或:
这将使
/
做实数除法和//
做整数除法。这是Python 3的默认设置。如果你除以2个整数,你将得到一个截断的整数结果(即,结果的任何小数部分被丢弃),这就是为什么
给你:
为了避免这个问题,至少需要有一个操作数是浮点。e、 例如,
1.0 / 3
或1 / 3.0
或(当然)1.0 / 3.0
将避免整数truncation。顺便说一下,这种行为并不是Python独有的。(Edit:如@Ivc在下面的有用注释中所述,如果整数操作数中有一个是负的,则结果是floor()ed,请参阅this article了解原因)。
此外,对于数字的内部和外部抑制可能存在一些混淆。数字就是它,但我们可以确定它的显示方式。
您可以使用格式化指令控制外部表示。例如,数字可以在小数点后显示5位,如下所示:
得到小数点后15位。
最后,使用
.format()
函数格式化字符串/数字有一种“新的和改进的”方法,这种方法可能比我上面展示的%
格式要长得多。例如:会给你:
你的值必须是浮点
或者
相关问题 更多 >
编程相关推荐