将金额转换为十万和千万

Posted

技术标签:

【中文标题】将金额转换为十万和千万【英文标题】:Converting amount to lakh and crore 【发布时间】:2017-04-20 23:43:44 【问题描述】:

如何在 django 中将金额转换为 lakh and crore。例如,如果金额是 100 000,我想显示 10 万。是否可以通过使用自定义模板标签来做到这一点?

我是一个初学者,所以这是我为完成这项工作而编写的代码。但是如何在模板标签中使用呢?

if properties.expected_price >= 100000:
    expected_price_in = expected_price/100000
elif properties.expected_price >= 1000000:
    expected_price_in = expected_price/1000000
else:
    expected_price_in = expected_price

【问题讨论】:

这个网址可能会有帮助:***.com/questions/4831306/… 小记:你的代码永远不会进入elif 我在那个链接中找不到任何有用的东西:( 我认为,在这种情况下,你需要去学习 Django 教程。 【参考方案1】:

你可以找到关于 Django 自定义模板过滤器here 和here 的很好的解释。 我只是给你一个简短的描述。 首先,您需要在 django 应用程序中创建文件夹模板标签并添加 __init__.py 文件。 在新文件夹中创建一些 .py 文件,例如 custom_filters.py,内容如下:

from django import template

register = template.Library()

@register.filter
def num_format(value):
    if value >= 1000000:
        return value/1000000
    elif value >= 100000:
        return value/100000
    else:
        return value

现在你可以像这样在模板中使用它:

% load custom_filters %
 your_number|num_format 

但我也建议你看看humanize utils。说不定能解决你的问题。

只需添加到设置 INSTALLED_APPS 'django.contrib.humanize' 并在模板中尝试:

% load humanize %
 your_number|intword 

【讨论】:

以上是关于将金额转换为十万和千万的主要内容,如果未能解决你的问题,请参考以下文章

如何用C#语言编程小写金额转换大写金额?求高手解答……

万元和亿之间该怎么转换

python中怎样输入一个包含小数的小写金额(整数部分不超过7位),将其转换为汉字大写金额,最后输出结果?

电商金额计算的 4 个坑,千万注意了!

电商金额计算的 4 个坑,千万注意了!

电商金额计算的 4 个坑,千万注意了!