在正数前添加加号?

发布于 2024-12-26 01:57:21 字数 184 浏览 1 评论 0原文

我正在打印在零后修剪为 3 位数字的浮点数,并且我想知道是否可以有条件地在正数之前附加 +,这样我就可以得到

+0.005

正数变化和

-0.005

负数变化。这在 printf 中很容易实现吗?

I'm printing floats trimmed to 3 digits after the zero, and I'd like to know if I can conditionally append a + before positive numbers, so I get

+0.005

for a positive change and

-0.005

for a negative change. Is this easily possible from within printf?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

于我来说 2025-01-02 01:57:21

是的,只需在格式说明符中使用“+”即可。

前任:

>>> "{0:+.03f}".format(1.23456)
'+1.235'

Yes, just use a '+' in the format specifier.

Ex:

>>> "{0:+.03f}".format(1.23456)
'+1.235'
这样的小城市 2025-01-02 01:57:21

数字有一个 + 修饰符。例如。 “%+d”或“%+f”

There's a + modifier for numbers. Eg. "%+d" or "%+f"

嗳卜坏 2025-01-02 01:57:21

在我看来,更好的答案是...

>>> for number in [-42, 0, 1, +13]:
...     print("%+d" % number if number != 0 else "0")
... 
-42
0
+1
+13
>>> 

或者简单地...

>>> number = 13
>>> number_str = "%+d" % number if number != 0 else "0"
>>> print(number_str)
+13
>>> 

额外:如果你想反转整数的符号...

>>> number = -13
>>> number_str = "%+d" % -number if number != 0 else "0"
>>> print(number_str)
+13
>>>

谢谢!

In my opinion, a better answer would be...

>>> for number in [-42, 0, 1, +13]:
...     print("%+d" % number if number != 0 else "0")
... 
-42
0
+1
+13
>>> 

Or simply...

>>> number = 13
>>> number_str = "%+d" % number if number != 0 else "0"
>>> print(number_str)
+13
>>> 

EXTRA: If you want to reverse the sign of an integer...

>>> number = -13
>>> number_str = "%+d" % -number if number != 0 else "0"
>>> print(number_str)
+13
>>>

Thanks! ????

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文