但求过程001 发表于 3 天前

小问题一个

输出%5.2f,-1.00是不是对的,里面的“-”也算一位吗?
宽度是5,精度小数点后面2位,“-”和“.”都要算在宽度里面吗?

FishC 发表于 3 天前

输出%5.2f,-1.00是不是对的,里面的“-”也算一位吗?宽度是5,精度小数点后面2位,“-”和“.”都要算在宽度里面吗?

是的,你理解得非常准确!%5.2f 格式化输出时,-1.00 是完全正确的。

具体分析如下:


[*]总宽度是 5,包括所有字符:负号、整数部分、小数点和小数部分。
[*]在 -1.00 中:
    [*]负号 - 占 1 位
    [*]整数部分 1 占 1 位
    [*]小数点 . 占 1 位
    [*]小数部分 00 占 2 位
[*]总共是 1 + 1 + 1 + 2 = 5 个字符,正好满足宽度要求。


你可以用下面这段代码验证一下:


print("%5.2f" % -1.0)


输出结果会是:

-1.00


如果是正数,比如 1.00,它只占 4 个字符(没有负号),所以会在前面补一个空格,变成 1.00(注意前面有一个空格)。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

但求过程001 发表于 3 天前

thanks

FishC 发表于 3 天前

但求过程001 发表于 2025-09-03 23:46
thanks

不客气!很高兴能帮到你~如果还有其他问题,随时来问!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页: [1]
查看完整版本: 小问题一个