输入数值时如何允许逗号

时间:2017-03-12 13:59:57

标签: ruby

我试着将两个浮点数相加。当我使用"."作为小数之间的分隔符时,它可以正常工作。但是,当我使用逗号时,最后两个数字返回零。示例:

puts "Type the first number:"
firstNum = gets.to_f # I typed 55,11

puts "Type the second number:"
secondNum = gets.to_f # I typed 45,44

result = firstNum +  secondNum

puts sprintf('%.2f', result)  # Return 100.00

如果我使用"."分隔数字,则返回100.55

1 个答案:

答案 0 :(得分:2)

Fixnum#to_f期待点数。要允许使用逗号,您应该明确地将它们转换为逗号:

puts "Type the first number:"
#               ⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓
firstNum = gets.tr(',', '.').to_f # I typed 55,11

puts "Type the second number:"
#                ⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓
secondNum = gets.tr(',', '.').to_f # I typed 45,44

result = firstNum +  secondNum

puts sprintf('%.2f', result)  # Return 100.55