You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python的format()函数中为负数添加前置空格?

问题解决:让负数负号前也插入空格

原代码使用{: }格式符时,正数前会自动填充空格,但负数的负号前无空格,导致输出中负数紧贴文本。要保持原txt字符串写法不变,实现负数负号前插入空格,可采用以下方案:

方案一:自定义数字处理函数

编写函数对负数添加前导空格,正数交由原格式符处理:

txt = "The temperature is between{: } and{: } degrees celsius."

def format_num(n):
    return f" {n}" if n < 0 else n

print(txt.format(format_num(-3), format_num(7)))

输出:

The temperature is between -3 and  7 degrees celsius.

方案二:提前格式化数字为目标字符串

直接将数字处理为带前导空格的格式后传入:

txt = "The temperature is between{: } and{: } degrees celsius."
num1, num2 = -3, 7

# 负数手动加前导空格,正数沿用原格式符的空格规则
formatted_num1 = f" {num1}" if num1 < 0 else f"{num1: }"
formatted_num2 = f"{num2: }"

print(txt.format(formatted_num1, formatted_num2))

输出结果与方案一一致。

内容的提问来源于stack exchange,提问作者dammy adeyemi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 17:07:12