【问题标题】:How can I convert a string into an integer in RUBY? [closed]如何在 RUBY 中将字符串转换为整数? [关闭]
【发布时间】:2020-12-10 13:17:18
【问题描述】:

我正在学习 RUBY,但我不知道如何将字符串转换为整数。例如奇数或偶数个字母等。

【问题讨论】:

  • '12'.to_i 将转换为 12
  • 然而,这个问题暗示你想知道字符串的长度? 'Ruby'.length 将是 4。
  • 你能举一个更明确的例子吗?目前还不清楚您要做什么。

标签: ruby string type-conversion integer


【解决方案1】:

将字符串转换为整数:例如my_str.to_i

"foo".to_i       # 0
"132".to_i       # 132
"132.4".to_i     # 132
"foo132".to_i    # 0
"132foo".to_i    # 132

查找字符串的字符数是奇数还是偶数:my_str.length.odd? 或 my_str.length.even?,例如:

"foo".length.odd?    # true
"132".length.odd?    # true
"foo".length.even?   # false
"132".length.even?   # false

另请参阅:

to_i

【讨论】:

    【解决方案2】:

    问题确实是整数,但有些字符串可以表示浮点数或有理数甚至十六进制数

    '2'.to_i => 2 # Fixnum
    '2.01'.to_f => 2.01 # Float
    '2'.to_r => (2/1) # Rational
    '2'.to_c => (2+0i) # Complex
    

    to_i 采用 10 基表示,但 Ruby 允许您更改它

    '2'.to_i(base=2) => 0 # Fixnum
    

    to_i 也可以处理十六进制“数字”

    `b`.to_i(base=16) => 11 # Fixnum
    

    to_i 转换字符串开头的所有数字字符,直到可迭代对象遇到无法强制转换为整数类型的字符。

    '12a'.to_i => 12 # Fixnum
    

    【讨论】:

      【解决方案3】:

      要将字符串转换为整数,请使用#to_i

      '12'.to_i
      => 12
      

      一旦它是一个整数,你可以测试奇数或偶数...

      '12'.to_i.odd?
      => false
      '12'.to_i.even?
      => true
      

      对于整数的长度(位数),您可以计算位数...

      '12'.to_i.abs.digits.count
      => 2
      

      【讨论】:

        猜你喜欢
        • 2018-06-20
        • 1970-01-01
        • 1970-01-01
        • 2010-09-06
        • 2013-12-29
        • 1970-01-01
        • 2015-07-27
        • 2014-03-20
        • 1970-01-01
        相关资源
        最近更新 更多