parseInt() 似乎只能工作到 9999
parseInt() only works seem to up to 9999
我有 2 个 fields/HTML 值,格式类似于:7,544
(表示货币金额)。
我正在使用这一行删除可能的逗号:
itemBudget = itemBudget.replace(/,/g, '');
我正在比较这两个金额,并在总金额高于预算时提醒用户。我正在使用这张支票:
if (parseInt(finalAmount) > parseInt(itemBudget) ) {
alert('Your total is higher than the budget');
}
这非常有效 - 但仅当 finalAmount
达到 9999 时。如果它从 10,000 起 - 测试不会通过,即使最终金额为 10000 且预算为 5000。
这里可能出了什么问题?
谢谢
确保您也替换了 finalAmount 逗号。
工作示例:
var finalAmount = "10,001";
var itemBudget = "5,000";
itemBudget = itemBudget.replace(/,/g, '');
finalAmount = finalAmount.replace(/,/g, '');
if (parseInt(finalAmount) > parseInt(itemBudget) ) {
alert('Your total is higher than the budget');
}
我有 2 个 fields/HTML 值,格式类似于:7,544
(表示货币金额)。
我正在使用这一行删除可能的逗号:
itemBudget = itemBudget.replace(/,/g, '');
我正在比较这两个金额,并在总金额高于预算时提醒用户。我正在使用这张支票:
if (parseInt(finalAmount) > parseInt(itemBudget) ) {
alert('Your total is higher than the budget');
}
这非常有效 - 但仅当 finalAmount
达到 9999 时。如果它从 10,000 起 - 测试不会通过,即使最终金额为 10000 且预算为 5000。
这里可能出了什么问题? 谢谢
确保您也替换了 finalAmount 逗号。
工作示例:
var finalAmount = "10,001";
var itemBudget = "5,000";
itemBudget = itemBudget.replace(/,/g, '');
finalAmount = finalAmount.replace(/,/g, '');
if (parseInt(finalAmount) > parseInt(itemBudget) ) {
alert('Your total is higher than the budget');
}