首页 > 解决方案 > “str”类型对象的未知格式代码“g”

问题描述

我正在尝试实现一个简单的浮点数函数,但出现了这个错误:'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])

标签: pythondjango

解决方案


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

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


推荐阅读