在 ruby 中的正数前加上 + 号
Put + sign in front of positive numbers in ruby
我喜欢在正数前显示一个加号。例子
2.to_s
# returns +2
和
-2.to_s
# returns -2
您可以使用相当 straight-up 的猴子补丁 Numeric
:
class Numeric
def to_ss # to signed string
self.negative? ? self.to_s : "+#{self.to_s}"
end
end
2.to_ss # => "+2"
-2.to_ss # => "-2"
5.7.to_ss # => "+5.7"
如果有更优雅的方法,我不会感到惊讶,但这行得通。
使用带有 +
标志的 Kernel#sprintf
:
sprintf('%d', 11)
# 11
sprintf('%+d', 11)
# +11
或等效地,String#%
:
'%+d<x>' % { x: 23 }
# +23
我喜欢在正数前显示一个加号。例子
2.to_s
# returns +2
和
-2.to_s
# returns -2
您可以使用相当 straight-up 的猴子补丁 Numeric
:
class Numeric
def to_ss # to signed string
self.negative? ? self.to_s : "+#{self.to_s}"
end
end
2.to_ss # => "+2"
-2.to_ss # => "-2"
5.7.to_ss # => "+5.7"
如果有更优雅的方法,我不会感到惊讶,但这行得通。
使用带有 +
标志的 Kernel#sprintf
:
sprintf('%d', 11)
# 11
sprintf('%+d', 11)
# +11
或等效地,String#%
:
'%+d<x>' % { x: 23 }
# +23