Rubyで変数が数値か文字列かどうかをチェックするには?変数が数値か文字列かどうかをチェックする方法は?
答えて
いくつかの方法があります。
>> 1.class #=> Fixnum
>> "foo".class #=> String
>> 1.is_a? NumeriC#=> true
>> "foo".is_a? String #=> true
var.is_a? String
var.is_a? Numeric
これは*変数*が数値かどうかをチェックせず、変数*が指し示すオブジェクトが数値かどうかをチェックします。両者には巨大な違いがあります。 –
@Jörg:私は、OPが何を求めているのかははっきりと分かっていると思います。この場合、大括弧は必要ありません。 –
は、そのクラスを印刷、それが(例えば、文字列または数値)である変数のタイプを紹介します。
例えば:
puts varName.class
これは、変数*が数値かどうかをチェックしません。変数*が指すオブジェクトが数値かどうかをチェックします。両者には巨大な違いがあります。 –
class Object
def is_number?
self.to_f.to_s == self.to_s || self.to_i.to_s == self.to_s
end
end
> 15.is_number?
=> true
> 15.0.is_number?
=> true
> '15'.is_number?
=> true
> '15.0'.is_number?
=> true
> 'String'.is_number?
=> false
これは私のために働いた '.is_a?数値ではありませんでした。私は、CSVファイルから抽出されたフィールドが数字かどうかを調べていました。したがって、実際に数値である文字列であるため、Numericとの比較は失敗します。 –
これは、 '15.10'、' 015'や '15.33333333333333333'のように、いくつかのケースで失敗します。 –
次のis_numberの定義はありますか?アンドリューの懸念を和らげる: def is_number?(テキスト) !!(/^[ - +]?[0-9] * \。?[0-9] + [[eE] [ - +]?[0-9 ] +)?$/=〜text) end –
finishing_moves
gemこの非常にタスクを達成するString#numeric?
方法を含みます。このアプローチは、パッケージ化されたinstalleroの答えと同じです。
"1.2".numeric?
#=> true
"1.2e34".numeric?
#=> true
"1.2.3".numeric?
#=> false
"a".numeric?
#=> false
if chr.to_i != 0
puts "It is number, yep"
end
'chr'が' '0 ''の場合はどうなりますか? –
あなたの答えに説明を加えてください。 –
- 1. 文字列が整数かどうかをチェックする方法
- 2. 文字列の値が変化するかどうかをチェック
- 3. 文字列が数値かどうかをチェックし、その数値をintに変換しますか?
- 4. select変数に列の値があるかどうかをチェックする方法
- 5. 値が整数かjasmine.jsの文字列かどうかをチェックする方法は?
- 6. Pythonのピクル、変数が文字列かピクルスかどうかをチェックする方法は?
- 7. 変数をチェックする方法は、UNIXで数値であるかどうか
- 8. 変数がnullかどうかをチェックする方法は?
- 9. リスト内の値が文字列かどうかをチェックする方法?
- 10. NSString =特定の文字列値かどうかをチェックする方法は?
- 11. $ _GET変数が数値文字列かどうかを調べる
- 12. 文字列がtry/catchなしの数字だけであるかどうかをチェックする方法は?
- 13. Definite句文法、文字列がcharかどうかをチェックする方法?
- 14. トーチ、変数をチェックする方法はCUDAかどうか?
- 15. Python構文:値(文字列)が文字列か数値かをチェックして何かをするにはどうすればいいですか
- 16. ルビー:文字列を整数に変換できるかどうかをチェック
- 17. 文字列が数字かどうかを調べる方法は?
- 18. 変数がvbscriptの配列にあるかどうかをチェックする方法
- 19. Cに文字が文字か整数かどうかをチェックする関数はありますか?
- 20. 変数が配列かオブジェクトかをチェックする方法は?
- 21. クエリ文字列がintかどうかをチェックする最適な方法は?
- 22. C#で型が文字列かどうかをチェックする方法は?
- 23. 数値が64ビット整数であるかどうかをチェックする方法
- 24. 数値が整数であるかどうかをチェックする方法
- 25. R - 変数が文字列かどうかを調べる
- 26. 文字列が数字でないかどうかをテストする方法
- 27. 複数行TextBoxに文字列が含まれているかどうかをチェックする方法は?
- 28. 変数に許可されていない文字があるかどうかをチェックする方法は?
- 29. 文字列値が既に配列リストに存在するかどうかをチェックする方法は?
- 30. 文字列がPythonでフォーマット引数を持つかどうかをチェックする方法は?
これは*変数*は番号であるかどうかをチェックしません、それはオブジェクト変数*ポイントに*は数値であるかどうかをチェックします。両者には巨大な違いがあります。 –
SO(および他の場所)に関する質問がどのように口頭で求められるかを考えると、OPが何を意味しているのか、特に彼または彼女がそれを受け入れたからといって、 –