亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用Ruby測試字符串是否基本上是引號中的整數

如何使用Ruby測試字符串是否基本上是引號中的整數

暮色呼如 2019-08-02 14:26:02
如何使用Ruby測試字符串是否基本上是引號中的整數我需要一個功能is_an_integer,在哪里"12".is_an_integer? 返回true。"blah".is_an_integer? 返回false。我怎么能用Ruby做到這一點?我會寫一個正則表達式,但我假設有一個幫助,我不知道。
查看完整描述

3 回答

?
DIEA

TA貢獻1820條經驗 獲得超2個贊

您可以使用正則表達式。這是@ janm建議的功能。

class String
    def is_i?
       !!(self =~ /\A[-+]?[0-9]+\z/)
    endend

根據@wich的評論編輯的版本:

class String
    def is_i?
       /\A[-+]?\d+\z/ === self
    endend

如果您只需要檢查正數

  if !/\A\d+\z/.match(string_to_check)
      #Is not a positive number
  else
      #Is all good ..continue
  end


查看完整回答
反對 回復 2019-08-02
?
紅顏莎娜

TA貢獻1842條經驗 獲得超13個贊

您可以使用Integer(str)并查看它是否會引發:

def is_num?(str)
  !!Integer(str)rescue ArgumentError, TypeError
  falseend

應該指出的是,雖然這確實會返回"01",但它并不適用"09",因為它不是09有效的整數文字。如果這不是您想要的行為,您可以添加10第二個參數Integer,因此該數字始終被解釋為基數10。


查看完整回答
反對 回復 2019-08-02
  • 3 回答
  • 0 關注
  • 705 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號