我正在尝试在我的代码中给大数字添加逗号。当我隔离代码时,它会起作用:
num = str(12354343)
print("{:,}".format(float(num)))
但是在我的代码中,我收到+的错误不支持的操作数类型:'float'和'str'。
def commafy(x):
x = "{:,}".format(float(x))
return x
i=1
d = resp.json()
for result in d['results']:
#print(result['campaign_name'])
data[i] = {'Source': 'Taboola', 'Campaign': result['campaign_name'], 'Impr.': commafy(result['impressions']), 'CTR': round(result['ctr'],2) + "%", 'Spent': result['spent']}
i+=1
这是怎么了?
谢谢
答案 0 :(得分:6)
您的问题在其他地方:
'CTR': round(result['ctr'],2) + "%",
round的结果是一个float
,而您尝试将其与字符串形式的'%'
结合起来。
您不是commafy
ìng这里的浮点结果...
'CTR': f"{round(result['ctr'],2)}%", # should work for 3.6+ (string interpolation syntax)
或
'CTR': "{}%".format(round(result['ctr'],2)), # should work for below 3.6