我是这里的新用户,也是 Ruby 的初学者。我需要从 中消除负值(数字)is_numeric?
。所以代码是这样的:
class String
def is_number?
true if Float(self) rescue false
end
end
这给了我正数和负数,而我只需要得到正数。有没有办法在这种方法中消除负数?如果没有,那么任何其他方式也值得赞赏。
我是这里的新用户,也是 Ruby 的初学者。我需要从 中消除负值(数字)is_numeric?
。所以代码是这样的:
class String
def is_number?
true if Float(self) rescue false
end
end
这给了我正数和负数,而我只需要得到正数。有没有办法在这种方法中消除负数?如果没有,那么任何其他方式也值得赞赏。
class String
def is_number?
Float(self) >= 0 rescue false
end
end
像这样的东西应该工作:
class String
def is_number?
f = Float(self)
f && f >= 0
rescue
false
end
end
'1'.is_number? # => true
'-1'.is_number? # => false
'0.0'.is_number? # => true
'4.12'.is_number? # => true
'-10_000'.is_number? # => false