我的百分比计算显示错误的结果

时间:2012-12-30 10:56:23

标签: c# .net

我正在计算一定金额的百分比,我的代码是:

calc = ((tax / 100) * amount);

其中tax = 5,amount = 1000且所有都是长值,预期结果为50但我得到0

任何人都可以帮助我,我错了吗?

3 个答案:

答案 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,在那里提供相同的例子。