【发布时间】:2021-03-19 14:39:35
【问题描述】:
我正在做一个项目,我必须根据某人的工作时间和工资率等信息打印工资摘要。在打印摘要中,间距非常具体,以保持计算右对齐在他们指定的标题下(除了 Premium 居中),所以我一直在使用字符串格式输入变量以保持测试用例之间的格式一致。但是,有些变量需要额外的格式,我被告知我不能有嵌套的大括号。
这是我对格式的编码方式:
print(formatted_work_date + '{:>15}'.format(float(hours_worked)) + ' ' + '{:^7}'.format(user_input_line_2_list[1]) + '{:>11}'.format(str(empl_hourly_payrate)) + '{:>16}'.format(str(round(gross_pay, 2))))
这是输出:
Workdate Hours Premium Rate Gross Pay
12/23/2020 13.3 0% 71.45 950.29
所以间距是正确的,但是变量 hours_worked 应该是一个浮点数,小数点后有 2 位数字(13.30 不仅仅是 13.3),所以要获得我写的额外零 '{:.2f}'.format (float(hours_worked)),我不知道如何将这些大括号放入大括号中以格式化它。希望这个问题有意义!
【问题讨论】:
-
如果你使用的是python版本3,那么最好使用f字符串,它提供了更容易格式化。
标签: python formatting rounding string-formatting