我是Ruby新手。我有这样的行,要求用户输入金额:
puts "Enter amount of money in $:"
goal = gets.chomp.to_f
如何轻松检查用户是否以dd:cc格式输入了正确的金额。像7.05或16.55(不包括像45.343434这样的选项)。
答案 0 :(得分: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
答案 1 :(得分:0)
将输入字符串与您需要的模式匹配。正则表达式的一个示例:可选的前导否定,可选的$,可选的逗号分隔,一美元的强制两位数分数:
^\-?\$?[0-9]{1,3}(?:,?[0-9]{3})*\.[0-9]{2}$
您可以制作更简单的正则表达式。我建议使用像Rubular这样的互动工具来进行游戏,并了解有关正则表达式的更多信息。