【发布时间】:2014-02-09 23:48:08
【问题描述】:
我正在尝试计算页面上两美元值的百分比。我的代码在 jsFiddle 中工作,但是每当我尝试在我的网站上实现它时,代码都会输出 NaN,所以我知道我将美元金额转换为我可以使用的数字时一定存在一些问题。我认为我的脚本没有冲突,因为我在控制台中没有收到任何错误。
我用红色突出显示了我要计算的两个数字。
var price1 = $('.Value em.ProductPrice strike').text();
var price2 = $('.YouSave .YouSaveAmount').text();
var number1 = Number(price1.replace(/[^0-9\.]+/g,""));
var number2 = Number(price2.replace(/[^0-9\.]+/g,""));
var savings = (Math.floor((number2 / number1) * 100));
$('#savepercent').text(savings);
有没有人知道为什么这可能会吐出 NaN?也许我需要尝试以其他方式转换美元金额?
感谢我收到的反馈,我能够在我的网站上使用此功能。
工作代码:
var price1 = $('.Value em.ProductPrice strike').text();
var price2 = $('.YouSave .YouSaveAmount').text();
var number1 = parseInt(price1.replace(/[^\d\.]/g, ''));
var number2 = parseInt(price2.replace(/[^\d\.]/g, ''));
var savings = (Math.floor((number2 / number1) * 100));
$('#savepercent').text(savings);
【问题讨论】:
-
如果它在 jsfiddle 中工作,还有其他问题。您应该从您的网站中删除代码,直到它正常工作,或者只使用
console.log来查看中间值。 -
在 Chrome 等中使用 F12 调试器来检查您的代码、断点和视图值等。调试是关于反馈和体面的工具使它变得如此容易。
-
学习在浏览器中使用步进调试器!您是否尝试过使用
alert()或console.log()来查看number1和number2的设置?
标签: javascript math nan