我正在尝试做基本除法,它总是返回0作为答案。
let mathStuff = Double((stepCount / Level.expRequired())) * 100
print ("(totalSteps) / (Level.expRequired()) * 100 = (mathStuff)")
My print return
2117 / 2500 * 100 = 0.0
我试过使用NSDecimal而不是Double,也试过不使用Double或NSDecimal,让它只是做数学,它返回为0而不是0.0。
我真的很困惑我在这里做错了什么,这似乎是基本的数学,我不知道为什么我总是给出0作为答案。
您的问题可能在这里:2117/2500,2500
和2117
都是Int
s。
如果它们是Double
,那么它将工作:2117.0 /2500.0
==>产生非零除法
尝试先将这些变量强制转换为double,你不需要强制转换结果本身:Double(stepCount) /Double(Level.expRequired()))*100
实际上,我认为只有一个需要强制转换:Double(stepCount)/Level.expRequired())*100