如何在Python字典中将金额值格式化为两位小数?
处理字典列表中amt字段的格式化需求
你可以通过遍历records列表中的每个字典条目,对每个条目的amt字段单独应用格式化逻辑,具体实现如下:
import json # 加载JSON数据(此处模拟file.text的内容) json_str = ''' { "total" : 3, "records" : [ { "regdId" : "A-10", "firstName" : "Adam", "amt" : 20 }, { "regdId" : "A-11", "firstName" : "Beth", "amt" : 22 }, { "regdId" : "A-12", "firstName" : "Candy", "amt" : 20.92 } ] } ''' data = json.loads(json_str) # 遍历每条记录,格式化amt字段 for record in data['records']: record['amt'] = format(record['amt'], '.2f') # 查看处理后的结果 print(data)
说明
- 这段代码会循环遍历
data['records']中的每一条数据,将每个字典里的amt值格式化为保留两位小数的字符串:整数会自动补两位尾零(如20变为"20.00"),已有两位小数的数值保持原样(如20.92变为"20.92")。 - 如果需要将
amt保留为数值类型(而非字符串),可以改用round(record['amt'], 2),但要注意:Python打印数值时会自动省略末尾的零(如20.00会显示为20.0),若要确保输出格式为两位小数,建议在打印时再用格式化字符串处理,比如print("{:.2f}".format(record['amt']))。
内容的提问来源于stack exchange,提问作者layman
相关产品推荐
相关产品推荐

