javascript - 为什么 parseInt 不忽略第一个符号或整数值的字符
问题描述
试图在 jQuery 中将字符串值更改为整数。是否有parseInt
忽略符号 $ 而是捕获整数/数字 90.00 的解决方法?
var price =("$90.00");
var i = (price);
var j = parseInt(i);
console.log(j)
期望输出:90.00
output NAN
解决方案
如果你在这里查看,你会看到:
如果
parseInt
在指定的基数中遇到不是数字的字符,它会忽略它和所有后续字符并返回解析到该点的整数值。parseInt 将数字截断为整数值。允许前导和尾随空格。
由于$
不是有效的数字字符 - parseInt 将忽略它和所有以下字符,并且您实际上将拥有parseInt
空字符串 - parseInt('')
,这会导致 NaN。
console.log(parseInt(''));
如果您知道您的字符串仅包含美元符号并且您想删除它,您可以使用该replace
函数来执行此操作:
const price = "$90.0";
console.log(parseInt(price.replace(/\$/, '')));
推荐阅读
- git - git clone 不使用配置的 SSH 密钥
- kotlin - 如何在 Kotlin 中保留登录令牌?
- wordpress - 在 Woocommerce 订单详细信息和所有电子邮件中显示高级自定义字段值
- javascript - 在外部显示数据
- c++ - 如何绘制具有随机顶点数的多边形并旋转它们?
- reactjs - 无法读取 React 和 API 中未定义的属性“映射”
- c# - 将 EF(不是 EF 核心)应用到 ASP.NET Core 项目
- javascript - Javascript heatmap.js 插件在 D3.js 中逐步显示数据
- c# - 如何在c#中停止特定任务
- c++ - 如何在 macOS 的旧扩展 clang 和 gcc 编译器中初始化数组和向量?