Python 未知格式代码';g';对于类型为'的对象;str';
我试图实现一个简单的浮点数函数,但我遇到了一个错误:类型为'str'的对象的未知格式代码'g'。这是什么原因,以及如何解决这一问题Python 未知格式代码';g';对于类型为'的对象;str';,python,django,Python,Django,我试图实现一个简单的浮点数函数,但我遇到了一个错误:类型为'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:
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])
您正在传入一个字符串,而不是一个数字,并试图在其上使用数字格式代码
但是,您可能正在寻找内置的吗?@AXX。。。我在其他项目中使用了相同的代码,它不会抛出此错误。我正在建立一个新项目,我遇到了这个错误。你能将你的答案附加到我的代码中吗?你正在模板中向你的过滤器传递一个字符串。