我得到不同货币的价格,想显示巴西R$ 我的格式不起作用,显示如下:
价格:1.15..000,00雷亚尔美元
为了获得更好的灵活性,我将价格存储为一个字符串:price=db.StringProperty(verbose_name="price")
我试图实现我自己的过滤器,但没有成功:
{{ ad.price|separate }} R$
def separate(n, sep='.'):
ln = list(str(n))
ln.reverse()
newn = []
while len(ln) > 3:
newn.extend(ln[:3])
newn.append(sep)
ln = ln[3:]
newn.extend(ln)
newn.reverse()
return "".join(newn)
你能帮我吗?我应该把过滤器取下来吗?我应该对输入强制执行一些正则表达式吗?指向我的站点的链接是http://www.koolbusiness.com/servead/4252196
更新:我正在考虑使用以下过滤器之一:
^{pr2}$
您可以使用
locale._override_localeconv
dict来设置自己的覆盖:如果需要,可以在
import locale
之后使用locale._override_localeconv.update({'p_cs_precedes': 1, 'n_cs_precedes': 1})
行。在货币格式是locale的一个功能。在
http://docs.python.org/library/locale.html#locale.currency
将价格存储为字符串是第一个问题。应该是十进制。如果您查看Python标准库文档Decimal,您将看到http://docs.python.org/library/decimal.html#recipes
那个moneyfmt食谱应该能满足你的需要
相关问题 更多 >
编程相关推荐