代码之家  ›  专栏  ›  技术社区  ›  Scott Skiles

是否有一个Django模板标记可以将百分比转换为人类可读的格式?

  •  0
  • Scott Skiles  · 技术社区  · 6 年前

    例如:

    • 将0.01转换为1%
    • 将0.001转换为0.1%
    • 将0.5转换为50%

    我看到了 humanize 什么都没有,我在Django文档中也找不到任何内容。我试过了 {{ value|multiply:100 }}% 没有成功。我知道我可以编写自己的模板标记,但我宁愿尽可能避免这样做。

    更新:我还调查了 widthratio 标签。值为0.001时为0%。不幸的是,这不是我想要的。

    3 回复  |  直到 6 年前
        1
  •  1
  •   Vipin Joshi    6 年前

    正如Michael上面提到的,我建议您为此编写自己的模板标记: https://docs.djangoproject.com/en/2.1/howto/custom-template-tags/

        2
  •  1
  •   shafik    6 年前

    您可以使用Django内置的模板标记来实现这一点 withraatio

    {% widthratio this_value max_value max_width as width %}
    

    如果这个值是175,最大值是200,最大宽度是100,上例中的图像将是88像素宽(因为175/200=0.875;.875*100=87.5,四舍五入到88)。

    你也可以看到细节 here

        3
  •  0
  •   Michael Stachura    6 年前

    或许可以使用以下解决方案之一: Is there a django template filter to display percentages?

    希望有帮助。如果没有,请编写您自己的简单筛选器:)

        4
  •  0
  •   Cyril    4 年前

    如果只需要用百分比格式化数字,例如“65%”:

    {{ number|stringformat:"d%%" }}