2016-08-10 5 views
-1

私はテーブルが数字でいっぱいで、数字のそれぞれに小数点以下があるかどうかを確認する必要があり、 '、'は '000'に使用されます。数字のフォーマットを確認する

同様:123456

どのように私はこれを確認することができますか?

おかげ

+1

。この形式でコンマの後に数字の0があるかどうかを知りたいですか? これまでに何をしましたか? – lcguida

+2

"正しい"と "失敗"の例を示してください。 –

+0

私はすべての数値> = 10,000は小数点以下の桁がないことを確認しなければならず、3桁の数字の後に区切り文字 '、'を使用する必要があります。例:674,456,890 – user2993178

答えて

1
s = '74,456,890' 
if s =~ /^\d{1,3}(?:,\d{3}+)$/ 
    # String s has the required format 
else 
    # String s does not have the required format 
end 
+0

私はそれが '999,999.40'のような数字を無視すると思います –

+0

そうですが、目標ではありませんか? –

+0

はい、値には小数点以下桁数を使用しないでください。 – user2993178

0

番号が刺され(,看板があるので)していると仮定すると:私は非常にあなたの質問を理解していなかった

numbers = [ 
    '100,000', 
    '100,246.40', 
    '100,000,304', 
    '300.210', 
    '10,200' 
] 

numbers.map { |n| n =~ /^\d{1,3},((\d{3})|(\d{3},))+$/ ? n : nil }.compact 
#=> ["100,000", "100,000,304", "10,200"] 
+0

解決策は、「455」のような1000より小さい数を逃すでしょう。 – user1934428

関連する問題