いくつかの価格があります (例:1000000と1000)。価格の種類は関係ありません (これは345000または532です)。["1", "000", "000"]この価格をいくつかの部分 (または)に分割する必要があり["345", "000"]ます。
どうすればこれができますか。何か案は?
あなたの例には文字列( as としてレンダリングされる)000のみが含まれているため、次のようにして、数字を3桁のグループに簡単に分割できます。000Fixnum0
num = 10000 # your num
res = num.to_s.reverse.scan(/.{1,3}/m).map(&:reverse).reverse
# res = ["10", "000"]
それ以外の場合は、最後の s と残りの数を分割したい場合0は、次のように簡単に実行できます。
num = 10000 # your num
res = [num.to_s.sub(/0+$/, '') ,num.to_s.scan(/0+$/)[0]]
# res = ["1", "0000"]
これが私の見解です:
i = 1000000
i.to_s.reverse.chars.each_slice(3).map(&:reverse).map(&:join).reverse # -> ['1', '000', '000']