输入Ruby的货币验证

时间:2016-09-25 18:28:55

标签: ruby validation

我是Ruby新手。我有这样的行,要求用户输入金额:

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

如何轻松检查用户是否以dd:cc格式输入了正确的金额。像7.05或16.55(不包括像45.343434这样的选项)。

2 个答案:

答案 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这样的互动工具来进行游戏,并了解有关正则表达式的更多信息。