添加固定费用时的十进制问题

时间:2014-10-18 09:50:00

标签: c# decimal

我有一个小问题我相信代码完全按照它的假设做的事情我有一个功能,我通过了一个金额,我加了40美分的固定费用加收。

以下是我当前代码的构建方式

Double surcharge;
surcharge = 0.4 * moneyIn / 100;

如果我以999.00米进入货币,它返回0.3996,实际上它应该返回0.4我不确定我需要做什么才能使它成为0.4。

1 个答案:

答案 0 :(得分:2)

您未使用decimal - 您正在使用double。在所有地方使用decimal (因此moneyIn也应该是decimal)。如果您实际使用999.00m moneyIn,那将使其成为decimal并且您当前的代码甚至无法编译(因为{之间没有隐式转换) {1}}和decimal)。

现在你的代码实际上没有谈到40美分的固定费用 - 它占原价值的0.4%。你应该有类似的东西:

double