我正在计算一定金额的百分比,我的代码是:
calc = ((tax / 100) * amount);
其中tax = 5,amount = 1000且所有都是长值,预期结果为50但我得到0
任何人都可以帮助我,我错了吗?
答案 0 :(得分:1)
整数除法的结果(5 / 100
)为0,确保它是浮点除法:
calc = ((tax / 100.0) * amount);
// or
calc = ((tax / 100f) * amount);
答案 1 :(得分:1)
尝试以下
calc = (( (float)tax / 100) * amount);
答案 2 :(得分:0)
如果你除以整数,那么你将获得结果零而不是十进制(百分比)。
(tax / 100).....计算为整数值;删除任何小数部分。
在你的情况下5/100 = 0.05。它将删除.05,结果为0
暂停Link,在那里提供相同的例子。