我试图摆脱货币符号以使用 parseFloat 计算新价格,但由于某种原因它返回 nan。
var pricePerUser = "£19.99";
pricePerUser = parseFloat(pricePerUser) * 3;
console.log(pricePerUser); //Returns NaN
最佳答案
parseFloat()
将解析字符串的每个字符,直到找到一个非数字值。 £
是第一个字符,因此它找不到要解析的数字。您需要在调用 parseFloat()
之前删除它:
var pricePerUser = "£19.99";
pricePerUser = parseFloat(pricePerUser.replace('£', '')) * 3;
console.log(pricePerUser);
如果在向 UI 显示输出时需要 2DP 精度,请使用
toFixed(2)
:console.log(pricePerUser.toFixed(2));
关于javascript - parseFloat 返回 NaN,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31830044/