2

我正在这样做:

var refundAmount = parseFloat($('#refundAmount2').val().replace('$',''));
var refundReceived = $('#refundReceived');
var remainderAmount = refundAmount-parseFloat(refundReceived.val().replace('$',''));

alert(parseInt(remainderAmount).toFixed(2));

无论我做什么,结果总是以小数点后 2 位为 '.00' 结尾。所以如果第一个数字是 200.12,第二个是 100.08,它应该用 100.04 提醒我,但我得到的是 100.00。

为什么会发生这种情况?

4

2 回答 2

6

您曾经parseInt将该数字转换为整数,然后toFixed(2)将其转换为具有 2 个小数位的数字。将 2 位小数添加到整数将始终导致.00.

尝试

alert(remainderAmount.toFixed(2));

演示

于 2013-04-17T15:38:49.137 回答
1

你用 parseInt() 将它作为一个 int 得到,然后执行 toFixed()。所以你把小数位放在一个int上。

于 2013-04-17T15:39:36.403 回答