Python 浮点数转字符串:如何得到 '0.03' 而不是 '-.03

1 投票
2 回答
1605 浏览
提问于 2025-04-16 13:19

有没有什么简单的方法可以把一个浮点数(范围在-0.99到+0.99之间)转换成总共4个字符的格式?比如说,正数会变成像'0.03'这样的格式,而负数则变成'-.03',也就是前面不加零。显然,我可以这样做:

s = '%4.2f' % n
if s[0] == '-':
    s = '-%s' % s[2:]

不过,也许有些StackOverflow的朋友知道用Python可以更简便的方法?

2 个回答

5

好吧,你可以这样做:

"{0: 3.2f}".format(n)

这里的空格表示,对于正数,应该打印一个空格,而对于负数则打印负号。这样一来,它们的宽度就总是一样的。

2

当然可以!请看下面的内容:

在编程中,有时候我们需要让程序做一些重复的事情,比如处理很多相似的数据。这时候,我们就可以用“循环”这个概念。循环就像是一个指令,让程序不停地重复执行某些操作,直到满足特定的条件为止。

比如说,如果你想让程序打印数字1到10,你可以用循环来实现,而不是手动写十次打印的指令。这样不仅省事,还能减少出错的机会。

另外,循环有几种不同的类型,比如“for循环”和“while循环”。“for循环”通常用于已知次数的情况,而“while循环”则适合在不知道具体次数时使用,只要条件满足就会继续执行。

总之,循环是编程中一个非常重要的工具,它能帮助我们更高效地完成任务。

s = ('%4.2f' % n).replace('-0','-')

撰写回答