如何在f-string中同时格式化字符串与变量,并使$符号与数值一同右对齐?
解决f-string中$与变量一同右对齐的问题
你当前的代码里,$符号属于固定文本部分,不在变量的格式化字段内,所以只有变量被右对齐,$会留在左侧。要让$和变量整体右对齐,只需要把$和变量的格式化结果合并成一个整体,再对这个整体设置右对齐宽度即可。
方法一:嵌套f-string
这是最直观的写法,先把$和变量格式化为一个字符串,再对这个字符串做右对齐处理:
totalTransactionCost = 12345.67 print(f"Total Cost Of All Transactions: {f'${totalTransactionCost:,.2f}':>63}")
方法二:使用str.format()嵌套
如果不习惯嵌套f-string,也可以用str.format()把$和变量组合后再对齐:
totalTransactionCost = 12345.67 print(f"Total Cost Of All Transactions: {'${:,.2f}'.format(totalTransactionCost):>63}")
两种方法的效果一致,都会让$和格式化后的金额一起靠右对齐,占据63个字符宽度。
内容的提问来源于stack exchange,提问作者Carson McDowell
相关产品推荐
相关产品推荐

