2016-09-25 95 views
2

我是Ruby的新手。我有這樣的線路,要求用戶輸入的金額:輸入Ruby的貨幣驗證

puts "Enter amount of money in $:" 
goal = gets.chomp.to_f 

我怎麼能輕鬆地檢查用戶是否dd中輸入了正確的金額:CC格式。像7.05或16.55(不包括45.343434之類的選項)。

回答

2

它接受任何有兩位小數的數字。

#file.rb 
puts 'enter amount in dollars' 
amount = gets.chomp 
r = /^\d+\.\d\d$/ 

unless amount.match r 
puts 'incorrect format, please try again' 
end 

$ ruby file.rb 
enter amount in dollars 
444.884 
incorrect format, please try again 
0

將您的輸入字符串與您需要的模式匹配。一個例子正則表達式:可選導致消極的,可選的$,可選的逗號分隔,一美元的強制性兩位數的分數:

^\-?\$?[0-9]{1,3}(?:,?[0-9]{3})*\.[0-9]{2}$ 

你可以簡單的正則表達式。我建議使用像Rubular這樣的交互式工具來玩耍並瞭解更多關於正則表達式的知識。