我目前正在尝试计算我的服务费用(8%)。卖家可以输入他们想要收到的金额,或者希望买家付款(就像Steam在这里:http://i.imgur.com/pLFN9px.png)。我目前正在使用此代码:
switch (money * 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)而不是舍入。无论如何都要尝试。