Joh*_*ith 2 ruby ruby-on-rails exception
在此计算中:
months = (saved_cents / spend_cents).to_f.floor
我收到以下错误:
FloatDomainError: NaN
我认为saved_cents和spend_cents是浮点数,这就是为什么我不明白为什么会出现此错误。
导致此错误的原因可能是什么?我该如何解决它?
根据文档,aFloatDomainError是:
当尝试将特殊浮点值(特别是
Infinity或NaN)转换为不支持它们的数字类时引发。
在您的代码中,FloatDomainError当两个值都为零时会出现 a :
saved_cents = 0.0
spend_cents = 0.0
(saved_cents / spend_cents).floor
#=> FloatDomainError: NaN
因为零除以零是NaN:
saved_cents / spend_cents
#=> NaN
尽管NaN是一个浮点数,但尝试向其发送floor消息会导致该错误:
Float::NaN.floor
#=> FloatDomainError: NaN
导致此错误的原因可能是什么?我该如何解决它?
仔细检查您的输入。也许还有另一个错误将值设置为0.0意外。
| 归档时间: | 
 | 
| 查看次数: | 2557 次 | 
| 最近记录: |