2024-09-27 23:25:42 发布
网友
我想在视图中舍入一些数值计算值,比如---
5.5至5 或549 t0 500和599-600(最近的一个)
所以我想在django中使用roundoff或floor函数,就像我们在其他语言中使用的一样。在django中是否有与此相关的函数,那么请建议我一些函数,以及使用这些函数时必须导入的库。在
谢谢。在
你不会说你是在一个模板或其他地方这样做。在
在模板中,可以使用^{}过滤器。在
否则,它只是Python,所以可以使用普通的Python舍入函数。在
使用浮动时,可以使用round、math.ceil和 math.floor。在
对于decimal.Decimal,可以使用quantize方法,该方法允许您指定舍入:
value = decimal.Decimal('0.5') value.quantize(decimal.Decimal('1'), decimal.ROUND_UP) value.quantize(decimal.Decimal('1'), decimal.ROUND_DOWN) value.quantize(decimal.Decimal('1'), decimal.ROUND_HALF_UP) ...
有关舍入方法的列表,请参见decimal.Context。在
请注意,python使用ROUND_-HALF-u,即使默认情况下,这对于统计数据非常有用,但对于金融数学来说却非常笨拙。将货币金额四舍五入到厘的典型方法是以下代码:
在视图中使用^{}:
>>> import decimal >>> numbers = ['5.5','499','1','0.5'] >>> for i in numbers: ... the_number = int(decimal.Decimal(i)) ... if the_number / 10: ... the_number = the_number + 10 - (the_number % 10) ... print the_number ... 5 500 1 0
如果您想格式化float,请按照Daniel的建议使用^{},但它不会为您进行舍入。在
你不会说你是在一个模板或其他地方这样做。在
在模板中,可以使用^{} 过滤器。在
否则,它只是Python,所以可以使用普通的Python舍入函数。在
使用浮动时,可以使用round、math.ceil和 math.floor。在
对于decimal.Decimal,可以使用quantize方法,该方法允许您指定舍入:
有关舍入方法的列表,请参见decimal.Context。在
请注意,python使用ROUND_-HALF-u,即使默认情况下,这对于统计数据非常有用,但对于金融数学来说却非常笨拙。将货币金额四舍五入到厘的典型方法是以下代码:
^{pr2}$在视图中使用^{} :
如果您想格式化float,请按照Daniel的建议使用^{} ,但它不会为您进行舍入。在
相关问题 更多 >
编程相关推荐