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

Kotlin中if判断条件看似为false却进入代码块问题求助

问题原因解答

你对科学计数法的含义理解有误,才会出现大小判断错误的情况,实际代码运行逻辑完全正常:

  • 1.57756888292539E14 表示 1.57756888292539 × 10的14次方,换算为普通十进制数值为 157756888292539
  • 7.8364593205657E13 表示 7.8364593205657 × 10的13次方,换算为普通十进制数值为 78364593205657

对比两个换算后的数值,显然157756888292539 > 78364593205657,所以tempDeltaDeviation > standardDeltaDeviation的判断条件成立,程序进入if分支执行是符合预期的。

你也可以记住科学计数法快速比大小的规则:优先对比E后面的指数,指数大的数值一定更大,只有指数相同的情况下才需要对比前面的系数。本次示例中前者指数为14,后者为13,仅看指数就能判断前者数值更大。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 00:09:01