如何在Ruby中检查字符串是否为整数?[副本]

wnrlj8wa  于 2023-06-05  发布在  Ruby
关注(0)|答案(4)|浏览(504)

此问题已在此处有答案

How to test if a string is basically an integer in quotes using Ruby(19回答)
Test if string is a number in Ruby on Rails(13个回答)
9年前关闭。
我有一个字符串"1234223",我想检查它的值是否是一个整数。
我怎么能在一条线上做到这一点?
我试过了
两行都返回nil。

ghg1uchk

ghg1uchk1#

如果你试图保持与原始文章相似的语义,请使用以下任一方法:

"1234223" =~ /\A\d+\z/ ? true : false
#=> true

!!("1234223" =~ /\A\d+\z/)
#=> true

使用Ruby 2.4的新Regexp#match的更惯用的构造?方法返回一个布尔结果也会做同样的事情,同时看起来也更干净一些。例如:

"1234223".match? /\A\d+\z/
#=> true
s4n0splo

s4n0splo2#

使用Integer("123") rescue nil

2izufjch

2izufjch3#

您可以使用regex

"123".match(/\A[+-]?\d+?(\.\d+)?\Z/) == nil ? false : true

它还将检查decimals

yx2lnoni

yx2lnoni4#

"1234223".tap{|s| break s.empty? || s =~ /\D/}.!

相关问题