2016-09-25 79 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这样的交互式工具来玩耍并了解更多关于正则表达式的知识。