【问题标题】:Unknown format code 'g' for object of type 'str'“str”类型对象的未知格式代码“g”
【发布时间】:2020-11-04 14:06:09
【问题描述】:

我正在尝试实现一个简单的浮点数函数,但出现此错误:“str 类型的对象的未知格式代码“g”。这是什么原因造成的,我该如何解决。

from django import template
register = template.Library()
@register.filter
def human_format(num):
    num = float('{:.3g}'.format(num))
    magnitude = 0
    while abs(num) >= 1000:
        magnitude += 1
        num /= 1000.0
    return '{}{}'.format('{:f}'.format(num).rstrip('0').rstrip('.'), ['', 'K', 'M', 'B', 'T'][magnitude])

【问题讨论】:

    标签: python django


    【解决方案1】:

    您传入的是字符串,而不是数字,并尝试在其上使用数字格式代码。

    但是,您是否正在寻找内置的 filesizeformat

    【讨论】:

    • @AXX... 我在其他项目中使用了相同的代码,它不会抛出这个错误。我正在构建一个新项目,但出现此错误。你能把你的答案附在我的代码上吗?
    • 您正在向模板中的过滤器传递一个字符串。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-09
    • 2020-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多