You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让Rust fastnum库除法返回Inf而非触发panic?

解决fastnum库除法返回Inf而非panic的问题

fastnum库默认的除法运算符(/)在除以零时会触发panic,但要实现返回±Inf的行为,你可以直接使用库提供的非恐慌式除法方法:

  • 使用Decimal::div_inf方法:该方法专门适配完整浮点语义,除以零时会返回对应的正无穷或负无穷,而非panic。示例代码如下:
use fastnum::Decimal;

// 正数除以零返回正无穷
let positive_inf = Decimal::from(5).div_inf(Decimal::ZERO);
assert!(positive_inf.is_infinite() && positive_inf.is_positive());

// 负数除以零返回负无穷
let negative_inf = Decimal::from(-5).div_inf(Decimal::ZERO);
assert!(negative_inf.is_infinite() && negative_inf.is_negative());

如果你的fastnum版本中没有div_inf方法,建议升级到最新版本,或者查阅库的内部文档确认对应方法名称——部分版本可能使用div_with_inf之类的命名。目前库的公开文档未明确全局配置开关,直接调用专用除法方法是最可靠的方案。

内容的提问来源于stack exchange,提问作者rwallace

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 21:32:04