0から9までの数字を含む文字列を指定して整数を出力する方法はありますか?たとえば、入力は「219」、出力は219となります。Ruby文字列を.to_iなしで整数に変換する方法
答えて
に.to_i使用あなたはKernel::Integerを使用することができます。
Integer("219")
#=> 219
Integer("21cat9")
# ArgumentError: invalid value for Integer(): "21cat9"
次のように時には、この方法が使用されている:それはあまり選択的であるものの
def convert_to_i(str)
begin
Integer(str)
rescue ArgumentError
nil
end
end
convert_to_i("219")
#=> 219
convert_to_i("21cat9")
#=> nil
convert_to_i("1_234")
#=> 1234
convert_to_i(" 12 ")
#=> 12
convert_to_i("0b11011") # binary representation
#=> 27
convert_to_i("054") # octal representation
#=> 44
convert_to_i("0xC") # hexidecimal representation
#=> 12
は、いくつかはそれとして、( "インライン救助" を使用します救助すべての例外):
def convert_to_i(str)
Integer(str) rescue nil
end
文字列を浮動小数点または有理数に変換する類似のカーネルメソッドがあります。
整数( "0054") => 44 – morrime
@morrimeは整数( "0054"、10) 'になります。 @Caryが –
にリンクしているドキュメントを読む "007"では動作しますが、 "008"では動作しません。これは、8進数7(07)が10進数7と同じで、Integer( "008")#=> ArgumentError:Integer()の値が "008"であるためです。 @luka、良い点。 –
def str_to_int(string)
digit_hash = {"0" => 0, "1" => 1, "2" => 2, "3" => 3, "4" => 4, "5" => 5, "6" => 6, "7" => 7, "8" => 8, "9" => 9}
total = 0
num_array = string.split("").reverse
num_array.length.times do |i|
num_value = digit_hash[num_array[i]]
num_value_base_ten = num_value * (10**i)
total += num_value_base_ten
end
return total
end
puts str_to_int("119") # => 119
負の整数を忘れないでください。 –
@CarySwovel私はそれを以前に言及しておきましたが、ホワイトボードの問題のパラメータは文字列が0-9の文字だけであるため、ネガティブは不可能だと言います。 – morrime
ハッシュの代わりに 'num_array [i] .ord - 48'があります。 [Enumerable#reduce](http://ruby-doc.org/core-2.3.0/Enumerable.html#method-i-reduce)(別名 'inject')と[Array#reverse_each](http: /ruby-doc.org/core-2.3.0/Array.html#method-i-reverse_each): 'str =" 123 "; fac = 1; str.chars.reverse_each.reduce(0)do | tot、digit |; tot + =(digit.ord - 48)* fac; fac * = 10; tot;終わり。 –
- 1. Rubyで文字列を整数に変換する方法
- 2. Rubyドル整数を文字列に変換する
- 3. h:selectOneMenuで文字列を整数に変換する方法
- 4. アセンブリで整数を文字列に変換する方法8086
- 5. 文字列をpythonで整数に変換する方法3
- 6. 整数の文字列を分離して文字に変換する方法
- 7. 文字列をアンドロイドの整数型に変換する方法
- 8. 文字列をjqueryの整数に変換する方法は?
- 9. 16進文字列を整数に変換する方法
- 10. Pythonが文字列を整数に変換する方法
- 11. uitextfield整数を文字列に変換する方法
- 12. 追記:整数を文字列に変換する方法は?
- 13. Javaで文字列を文字と整数に変換する方法は?
- 14. Ruby Array:整数を文字列に変換
- 15. Groovyで整数を文字列に変換する理想的な方法
- 16. 整数の文字列を変換する方法
- 17. 双方向バインディングで整数を文字列に変換する
- 18. 符号なし文字配列を整数に変換する
- 19. 文字列を符号なし整数に変換する
- 20. イメージ文字列をRubyでストリームに変換する方法
- 21. Rubyで文字列をUTF8に変換する方法
- 22. 文字列を整数に変換
- 23. neo4jで配列の文字列値を整数に変換する方法は?
- 24. Rubyで文字列をハッシュ記号と整数に変換する
- 25. 整数値より大きな値を持つ整数変数をtalend文字列に変換する方法
- 26. 文字列(文字)をファイルテキストから整数に変換する
- 27. Fortranで文字を整数に変換する方法は?
- 28. 数字を含む文字列を整数に変換する
- 29. Javascript:文字列を整数に変換してから文字列に戻す最も効率的な方法
- 30. 数字の文字配列を整数に変換する
「to_i」を使用できないのはなぜですか? –
@muistooshortそれはホワイトボードの質問です、それは挑戦です。 – morrime
他の人に仕事をさせてもらうことは難しいことではありません。 –