Ruby将整数拆分为数组

mbskvtky  于 2022-11-22  发布在  Ruby
关注(0)|答案(6)|浏览(135)

我有一个值x = 876885。我想把这个值拆分成[876,885]这样的数组
这是我试过的

x.to_s[0..2].split(',') #=> ["876"]

如何获得类似[876,885]的内容?

inn6fuwd

inn6fuwd1#

与DigitalRoss的答案相似。

x.divmod(1000)
kninwzqo

kninwzqo2#

[x/1000, x%1000] # => [876, 885]
wqnecbli

wqnecbli3#

不如这样:

x = 876885
x.to_s.scan(/.../).map {|e| e.to_i }
=> [876, 885]
z0qdvdin

z0qdvdin4#

如果您希望能够处理任意长度的数字,则可以使用each_slice

876885.to_s.each_char.each_slice(3).map{|x| x.join}
wztqucjr

wztqucjr5#

这样如何?

[x.to_s[0..2], x.to_s[3..-1]]
polkgigr

polkgigr6#

@DigitalRosssolution最适合6位数字,但这里有一个更通用的solution

a = 876885
a.to_s.chars.each_slice(3).map { |a| a.join.to_i }

# ⇒ [
#  [0] 876,
#  [1] 885
#]

相关问题