首页 > 解决方案 > 为什么 parseInt 不忽略第一个符号或整数值的字符

问题描述

试图在 jQuery 中将字符串值更改为整数。是否有parseInt忽略符号 $ 而是捕获整数/数字 90.00 的解决方法?

var price =("$90.00");
var i = (price);
var j = parseInt(i);
console.log(j)

期望输出:90.00

output NAN

标签: javascriptjquery

解决方案


如果你在这里查看,你会看到:

如果parseInt在指定的基数中遇到不是数字的字符,它会忽略它和所有后续字符并返回解析到该点的整数值。parseInt 将数字截断为整数值。允许前导和尾随空格。

由于$不是有效的数字字符 - parseInt 将忽略它和所有以下字符,并且您实际上将拥有parseInt空字符串 - parseInt(''),这会导致 NaN。

console.log(parseInt(''));

如果您知道您的字符串仅包含美元符号并且您想删除它,您可以使用该replace函数来执行此操作:

const price = "$90.0";
console.log(parseInt(price.replace(/\$/, '')));


推荐阅读