gpt4 book ai didi

ruby-on-rails - 防止 FloatDomainError NaN

转载 作者:行者123 更新时间:2023-12-02 20:42:21 27 4
gpt4 key购买 nike

在此计算中:

months = (saved_cents / spend_cents).to_f.floor

我收到以下错误:

FloatDomainError: NaN

我认为 saved_centsspend_cents 是 float ,这就是为什么我不明白为什么会出现此错误。

此错误的原因可能是什么?我该如何解决它?

最佳答案

根据文档,FloatDomainError是:

Raised when attempting to convert special float values (in particular Infinity or NaN) to numerical classes which don't support them.

在您的代码中,当两个值都为零时,会发生FloatDomainError:

saved_cents = 0.0
spend_cents = 0.0

(saved_cents / spend_cents).floor
#=> FloatDomainError: NaN

因为零除以零是NaN:

saved_cents / spend_cents
#=> NaN

尽管 NaN 是一个 float ,但尝试向其发送 floor 消息会导致该错误:

Float::NaN.floor
#=> FloatDomainError: NaN

What could be the reason for this error? And how can I fix it?

仔细检查您的输入。也许还有另一个错误意外地将值设置为 0.0

关于ruby-on-rails - 防止 FloatDomainError NaN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45674981/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com