当前位置:  开发笔记 > 编程语言 > 正文

在Django模板中格式化带有小数点和有限小数部分的浮点数

如何解决《在Django模板中格式化带有小数点和有限小数部分的浮点数》经验,为你挑选了1个好方法。

我知道我可以通过使用floatformat:2输出局部浮点数的过滤器来限制浮点数中的小数位数.我也知道过滤器stringformat:"f"输出1.54之类的虚线浮点数而不是像1,54那样的本地化逗号浮点数.

例如,如果原始浮点数是1.54233我想打印1.54而不是1,541.54233.这可以在不需要自定义过滤器的情况下实现吗?



1> maazza..:

只需使用localize/unlocalize格式分隔符

https://docs.djangoproject.com/en/1.9/topics/i18n/formatting/#std:templatefilter-localize

例如:

{% load l10n %}

{{ value|localize }}

要禁用单个值的本地化,请使用unlocalize.要控制模板大部分的本地化,请使用localize模板标记.unlocalize

强制打印单个值而无需本地化.

例如:

{% load l10n %}

{{ value|unlocalize }}

要强制单个值的本地化,请使用localize.要控制模板大部分的本地化,请使用localize模板标记.

编辑:

请参阅 https://docs.djangoproject.com/en/1.9/topics/i18n/translation/#switching-language-in-templates

{% load i18n %}

{% get_current_language as LANGUAGE_CODE %}

{% trans "Welcome to our page" %}

{% language 'en' %} {% get_current_language as LANGUAGE_CODE %}

{% trans "Welcome to our page" %}

{% endlanguage %}

如果localize/unlocalize不起作用,您可以切换语言以强制显示


使用带有``language``的``floatformat``仍然有效,所以你可以``{%language'en'%} {{value | floatformat:'1'}} {%endlanguage%}``来得到一个"非本地化"的价值.如果你需要一个真实的数字
推荐阅读
大大炮
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有