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

Swift中整数运算创建浮点数的正确方式?小数显示为0问题排查

问题解决:浮点数创建导致显示0的问题

你的问题根源在于整数除法的特性:代码里的minute/1440是两个整数相除,Swift会直接舍弃小数部分返回整数结果。因为一天最多1439分钟,所以不管当前分钟是多少,minute/1440的结果都是0,转成Float后自然是0.0,最终显示就是0。

正确的处理方式

只需要把除法操作改成浮点除法即可,有两种简单的实现方式:

  1. 将其中一个操作数转为浮点数后再计算:
let minute = Calendar.current.component(.minute, from: Date())
let JDminute = Float(minute) / 1440.0
  1. 或者将两个操作数都转为浮点数:
let JDminute = Float(minute) / Float(1440)

这样计算出来的结果会保留小数部分,比如当前分钟为30时,结果是0.02083,后续用你提供的两种显示方式都能正确输出带小数的数值。

另外,如果你的turnintoJulian函数内部也存在类似的整数除法操作,同样需要修改为浮点除法,才能确保返回的数值是正确的小数。

内容的提问来源于stack exchange,提问作者Matte.Car

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 04:48:17