我试图进行一轮浮点数运算,但是在python中,对于不同的浮点数,它给出的结果不同。示例:-
>>> round(4.5)
4
和
>>> round(3.5)
4
您可以看到结果round(4.5)
返回4
,而rount(3.5)
返回4
。如何解决这个问题呢。 ?我希望round(4.5)
返回5
。请帮帮我。谢谢
答案 0 :(得分:2)
答案 1 :(得分:0)
来自docs:
如果两个倍数相等接近,则将舍入为偶数选择(例如,round(0.5)和round(-0.5)均为0,round(1.5)为2)。
即Python 3做"rounding half to even"。
您可以通过这种方式进行“四舍五入”:
class OrderPage(models.Model):
description = models.CharField(max_length=255, blank=False)
sites = models.ManyToManyField(Site)
class Meta:
unique_together = (('id', 'sites'),)
class Order(models.Model):
order_page = models.ForeignKey(OrderPage)
class OrderPageAdmin(admin.ModelAdmin):
filter_horizontal = ('sites',)
admin.site.register(OrderPage, OrderPageAdmin)