【问题标题】:How do I string format variables that require additional formatting如何对需要其他格式的格式变量进行字符串化
【发布时间】: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


【解决方案1】:

使用格式'{:>15.2f}' 指定字段宽度为右对齐('>')、15 个字符('15'),并且格式为带 2 位小数的浮点数(.2f)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多