ValueError: '=' alignment not allowed in string format specifier. Sometimes not working
ValueError: '=' alignment not allowed in string format specifier. Sometimes not working
错误信息:
alarm = f"{alarm_hour}:{alarm_minute:02}:{alarm_am_pm}"
ValueError: '=' alignment not allowed in string format specifier
我不知道为什么这段代码会出错,因为我之前在 的程序中使用过相同的代码并且运行良好。这是代码。
TIME = f"{current_hour}:{current_minute:02}:{current_second} {am_pm}"
但是,每当我从 alarm_minute 中删除 :02 时,它都能正常工作,因为我想以 2 位数字显示数字。我很困惑代码有什么问题。两者几乎相同,但有一个出错了,另一个没有。
假设您希望将数字格式设置为带前导 0 的两位数,而当它是单个数字时,您可以将其与字母 d 一起传递,让 fstring 知道您希望将其格式设置为带 0 前导的 2 位数字。你可以用浮点数做类似的事情来打印到 x 位小数。
num = 3
price = 4.9
print(f"{num:02d}, {price:.2f}")
输出
03, 4.90
错误信息:
alarm = f"{alarm_hour}:{alarm_minute:02}:{alarm_am_pm}"
ValueError: '=' alignment not allowed in string format specifier
我不知道为什么这段代码会出错,因为我之前在 的程序中使用过相同的代码并且运行良好。这是代码。
TIME = f"{current_hour}:{current_minute:02}:{current_second} {am_pm}"
但是,每当我从 alarm_minute 中删除 :02 时,它都能正常工作,因为我想以 2 位数字显示数字。我很困惑代码有什么问题。两者几乎相同,但有一个出错了,另一个没有。
假设您希望将数字格式设置为带前导 0 的两位数,而当它是单个数字时,您可以将其与字母 d 一起传递,让 fstring 知道您希望将其格式设置为带 0 前导的 2 位数字。你可以用浮点数做类似的事情来打印到 x 位小数。
num = 3
price = 4.9
print(f"{num:02d}, {price:.2f}")
输出
03, 4.90