繁体   English   中英

“str”类型对象的未知格式代码“g”

[英]Unknown format code 'g' for object of type 'str'

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM