话不多说,直接正文。

正文

常用方法为这三种

  • ~~按位取反再取反,作用是把字符串变为整数数值。
  • Number(str) 会保留小数点
  • parseInt(str) 化为整数数值
console.log(Number("121"));
console.log(parseInt("121"));
console.log(~~"121");
console.log(Number("-121"));
console.log(parseInt("-121"));
console.log(~~"-121");

这三种方法对于正整数和负整数,结果都是正确且一致的。

console.log(Number("121.213"));
console.log(parseInt("121.213"));
console.log(~~"121.213");

对于带有小数点的正确数值格式的字符串,只有Number(str) 会保留小数点,其余均舍弃小数点后面的值。

console.log(Number("-1sa11")); // NaN
console.log(parseInt("-1sa11")); // -1
console.log(~~"-1sa11"); // 0

但对于错误的数值格式的字符串,三者表现各不相同。

  • Number(str) 会如我们所期待的返回 NaN
  • parseInt(str) 会将合法字符转换,直至遇见不合法的字符为止。如果第一个字符就不合法,则会返回NaN
  • ~~ 会返回 0

js 字符串转数值 的常用方法和对比相关推荐

  1. 前端JS字符串转数值 Number和parseInt用法

    Number() 只包含数值的字符串 字符串为空则为0 parseInt() 字符串不能为空 字符串第一个必须为数值 从第一个数值开始取,到最后一个连续数值结束

  2. js 字符串、数值之间的转换

    var num = "456" parseInt(num); // 456 parseFloat(num); // 456 Number(num); // 456 var num ...

  3. js 字符串加减法_基于字符串的数值之加减乘除JS算法研究

    在我们的日常js项目中,我们不免会碰到需要进行前端计算的场景.而大家都知道,计算机进行计算时存在精度问题,且数值有值域,偶尔会碰到溢出问题.在最近的一个项目中,由于遇到了一个超过20位的数,因此,又不 ...

  4. Js常用方法:JS字符串截取、数组截取等

    Js常用方法:JS字符串截取.数组截取等 Js常用方法(二)String字符串 .Array数组 减操作 前言:前端开发中最常见的就是对字符串.数组或对象增删改查等操作 下面总结一下常用且比较实用的方 ...

  5. Js Array数组ES5/ES6常用方法

    Js Array数组ES5/ES6常用方法 1.栈方法(先进后出) push():在数组的最后一项后追加值(参数:可以为多个值或数组) 返回:数组的长度,改变了原数组. var a=[1,2,3] a ...

  6. 问题之JS中传递数值过大或前置有零时

    1.JS中传递数值多大数值会变     var number = 00161213313254545433     turnToDetail(number);     function turnToD ...

  7. 面试算法基础及编程 第四弹 (字符串、数值类、或其他常见相关)

    // # -*- coding:utf-8 -*- // # @Author: Mr.chen(ai-chen2050@qq.com) // # @Date: 2018-08-18 21:06:30 ...

  8. Js 字符串属性及方法

    Js 字符串属性及方法 本文记录下字符串相关属性及方法,参考文档 MDM String. 一.语法: 'hello world' "hello world" "中文&qu ...

  9. ES6 --》字符串与数值新增方法

    目录 字符串新增方法 模板字符串 字符串对象新增方法 数值新增方法 Math数值新增方法 主要讲解了ES6中字符串与数值新增的常见的主要方法, 对其做了如下总结: 字符串新增方法 ES6对字符串新增的 ...

最新文章

  1. JQuery Smart UI 简介(五) — 框架设计【前篇】(前台UI层架构)
  2. spring boot 缓存_SpringBoot 应用 Redis 声明式缓存
  3. java项目打成jar和war_maven打包web项目时同时打包为war和jar文件的方法
  4. redhat编译安装git
  5. /MD, /MDD, /ML, /MT,/MTD(使用运行时库)
  6. 炸锅了!Google称2029年人类开始实现永生不死!疾病,衰老,痛苦将彻底消失!?
  7. python工程控件_工程脚本插件方案 - c集成Python基础篇
  8. 巴菲特2021年致股东信披露重仓股名单
  9. 光引发剂主要用途_光引发剂分类及用途
  10. idea 删除补丁_带着好奇心去探索IDEA
  11. 用简单 JS 实现代替 MYBATIS LOG PLUGIN 的功能
  12. [文档]CSS中文字体对照表
  13. linux下编译geos,linux下编译GDAL3.x(集成Proj和Geos等)
  14. Excel图表制作(二):滚动条实现动态图表
  15. iOS微信分享及Universal Links
  16. mysql查询结果赋予变量_MySQL设置会话变量:把查询结果赋值给变量
  17. 字节跳动python后端_【字节跳动】[字节跳动][实习]后端研发工程师(python+go)...
  18. Android 屏幕适配 pt暴力适配
  19. 使用TeamView远程电脑无法操作的问题处理
  20. 1rem、1em、1vh(vw)、1px各自代表的含义

热门文章

  1. 除开利润原因,景区为何坚持卖天价水?
  2. 50个带给你灵感的基于文字的创新Logo设计 - 第一部分
  3. 阿里云redis外网连接失败问题,redis连接超时
  4. 怎样将PPT中的中文翻译成英文?实现中英互译简单的方法是什么?
  5. PDF如何添加注释?怎样免费给PDF添加注释?
  6. java-net-php-python-70java海洋食品销售网计算机毕业设计程序
  7. 这个引流玩法100%有效,适合各种副业项目
  8. 末位淘汰制解雇员工是否合法?
  9. 基于FFmpeg和Wasm的Web端视频截帧方案
  10. 前端学习之——js解析json数组