js 字符串转数值 的常用方法和对比

news/2024/7/19 15:27:58 标签: javascript, 字符串, js, parse, 数值

话不多说,直接正文。

正文

常用方法为这三种

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

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

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

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

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

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

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

http://www.niftyadmin.cn/n/1257926.html

相关文章

前端工作周报8.9

记录下前端实习工作的问题和收获。 正文 1. javaScript相关 即使 null 和 undefined 有关系,它们的用途也是完全不一样的。永远不必显式地将变量值设置为 undefined 。但 null 不是这样的。任何时候,只要变量要保存对象,而当时又没有那个对…

前端工作周报 8.16 8.23

本应两周写两个周报,但在上周主管和我说不用干vue了,需要学习dart->flutter。这两周主要是在学习,这个博客会贴很多平时联系的代码。 8.16 - 8.17 Dart 安装 下载SDK配置环境 helloworld 学习笔记 PS:很多与js相同的语法默认…

flutter中的EventBus

插件地址:event_bus 用法 定义事件类型,通常来说是定义类,可以在类中定义属性来传参 class LoginSuccessEvent {}class WarningEvent {String msg;WarningEvent(this.msg); }在需要监听事件的页面initState阶段添加监听 void initState() …

前端工作周报8.30

正文 initState() 是一个无返回值的函数,如果要在这里请求数据,不能在这个函数中添加async/await。重新定义一个async函数,在其中调用即可。 在两个文件中定义两个写法完全相同的类,这两个类的实例在相互赋值时报错,说…

spring---transaction(4)---源代码分析(事务的状态TransactionStatus)

写在前面 TransactionStatus表示一个具体的事务状态(这里应用到了Java的一个多继承,接口允许多继承) TransactionStatus它继承了SavepointManager接口,SavepointManager是对事务中上述保存点功能的封装(Spring利用保存…

Flutter 上滑加载以及下拉刷新

实现下拉刷新 flutter中,已经给出了实现,咱们只需要给出回调即可。很多解释都在注释中,请不要忽略。如果你想要直接看到全部代码,请拉到最后。 import dart:async;import package:dio/dio.dart; import package:flutter/materia…

python 练习题1--打印三位不重复数字

题目:有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少? 程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。 程序源代码&#x…

Flutter 中圆角按钮,渐变色按钮

如图所示 思路 ElevatedButton组件,我在网上没有找到直接设置的圆角和渐变色背景的属性。笔者的思路是,将按钮的背景色和阴影去除,在其外包裹Container,设置外层容器的圆角和背景色即可。 代码 Container(width: 340,height: 4…