Javascript Money Calculations(不一致的结果)

时间:2016-03-10 03:19:18

标签: javascript jquery math

我目前正在尝试计算我的服务费用(8%)。卖家可以输入他们想要收到的金额,或者希望买家付款(就像Steam在这里:http://i.imgur.com/pLFN9px.png)。我目前正在使用此代码:

switch (money * 2)

接收(左)< - >付费(右)转换不一致。 (将左边生成的相同数字放回右边会给出不同的左边)。

对不起,如果不够清楚,我可以在需要时解释一下。

2 个答案:

答案 0 :(得分:0)

在你做两件不同的事情之前,这些是不一致的。比如说。让我们把5作为左边的数字。 8% of 5 = .4,所以正确的数字是5.4 如果你把5.4作为正确的数字8% of it is .432而不是.4。所以左边的数字是5.4 - .432 = 4.968而不是5。 如果你想获得相同的数字,那么你必须乘以1.08左边 - >正确的转换并除以1.08,反之亦然。 希望这会有所帮助。

答案 1 :(得分:0)

首先,您能确定传递给precise_round函数的值是您所期望的吗?

如果没有,那么我想从你的代码中看到你需要将原始值转换为float。我有同样的问题,值为1美分错误,并转换为浮动固定它。

var value = cur*1.08;

应该是:

var value = parseFloat(cur)*1.08;

var value = cur*0.92;

应该是:

var value = parseFloat(cur)*0.92;

之后,您可以使用value.toFixed(2)而不是舍入。无论如何都要尝试。