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