我在Objective-C中做了以下操作,期望180作为输出,但我得到150.有人可以解释我做错了吗?
(360 / 100) * 50
答案 0 :(得分:14)
您(意外)使用integer division。 360 / 100
正在返回3
,然后3 * 50
当然是150
。要获得浮点结果,请先尝试将360
或100
转换为浮点数,或者只使用文字浮点数 - 即360.0 / 100
或360 / 100.0
或甚至{{1 }}
或者,正如@KennyTM在评论中指出的那样,您可以重新排序360.0 / 100.0
这样的语句 - 如果浮点数因任何原因不可接受,这将特别有用。