2
我是Ruby的新手。我有这样的线路,要求用户输入的金额:输入Ruby的货币验证
puts "Enter amount of money in $:"
goal = gets.chomp.to_f
我怎么能轻松地检查用户是否dd中输入了正确的金额:CC格式。像7.05或16.55(不包括45.343434之类的选项)。
我是Ruby的新手。我有这样的线路,要求用户输入的金额:输入Ruby的货币验证
puts "Enter amount of money in $:"
goal = gets.chomp.to_f
我怎么能轻松地检查用户是否dd中输入了正确的金额:CC格式。像7.05或16.55(不包括45.343434之类的选项)。
它接受任何有两位小数的数字。
#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-9]{1,3}(?:,?[0-9]{3})*\.[0-9]{2}$
你可以简单的正则表达式。我建议使用像Rubular这样的交互式工具来玩耍并了解更多关于正则表达式的知识。