python - “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])
解决方案
您传入的是字符串,而不是数字,并尝试在其上使用数字格式代码。
但是,您是否正在寻找内置的filesizeformat
?
推荐阅读
- python - 手动设置图例条目
- typescript - 如何在打字稿中为“电子”定义“类型”?
- haskell - Haskell getsizeof 大整数
- c - fscanf() 函数在读取的第一个字符处放置一个 \000
- python - 如何在多通道图像中选择每个像素处具有最大值的通道?
- excel - 从另一个工作表到列表的范围中获取值
- youtube-data-api - 以非所有者身份上传视频字幕返回 403
- android - RNFirebase 核心模块未在 Android 上原生找到,请确保您已正确添加 RNFirebase 和 Firebase gradle 依赖项
- powershell - Powershell函数在返回值中取消嵌套对象
- performance - Big O:这个 FOR 循环是 O(n log(n)) 还是 O(log(n)^2)?