首页 > 编程语言 >JavaScript中将字符串转换为数字的七种方法总结 乘以数字: str = '2344'; console.log(str * 1) // expected result

JavaScript中将字符串转换为数字的七种方法总结 乘以数字: str = '2344'; console.log(str * 1) // expected result

时间:2023-06-15 12:56:46浏览次数:66  
标签:2344 转换 数字 字符串 str parseInt console log

JavaScript中将字符串转换为数字的七种方法总结 乘以数字: str = '2344'; console.log(str * 1) // expected result: 2344
https://www.jb51.net/article/261613.htm

+
目录

1. 使用 parseInt()

parseInt()解析一个字符串并返回一个整数。允许空格。仅返回第一个数字。

这种方法虽然有一个限制。如果您解析十进制数,它将四舍五入到最接近的整数值,并将该值转换为string。可能需要使用parseFloat()方法进行文字转换。

?
12345myString = '129'console.log(parseInt(myString)) // expected result: 129  a = 12.22console.log(parseInt(a)) // expected result: 12

2. 使用 Number()

Number()可用于将 JavaScript 变量转换为数字。我们可以用它来转换字符串太数字。

如果该值不能转换为数字,NaN则返回。

?
1Number("10"); // returns 10Number(" 10 "); // returns 10Number("10.33"); // returns 10.33

3. 使用一元运算符 (+)

一元加号运算符 ( +) 在其操作数之前并计算其操作数,但如果尚未将其转换为数字,则尝试将其转换为数字。

?
12345const x = 25;const y = -25;console.log(+x); // expected output: 25console.log(+y); // expected output: -25console.log(+''); // expected output: 0

4.使用parseFloat()

parseFloat()解析一个字符串并返回一个数字。允许空格。仅返回第一个数字。

?
12345parseFloat("10");        // returns 10parseFloat("10.33");     // returns 10.33parseFloat("10 20 30");  // returns 10parseFloat("10 years");  // returns 10parseFloat("years 10");  // returns NaN

5. 使用 Math.floor()

Math.floor()函数返回小于或等于给定数字的最大整数。这对于十进制数字可能有点棘手,因为它将最接近的整数的值返回为Number。

?
12345str = '1222'console.log(Math.floor(str)) // returns 1222  a = 12.22Math.floor(a) // expected result: 12

6.乘以数字

将字符串值乘以1不会改变值,并且默认情况下它会转换为数字。

?
12str = '2344'console.log(str * 1) // expected result: 2344

7. 双波浪号 (~~) 运算符

我们可以使用双波浪号运算符将字符串转换为数字。

?
1234str = '1234'console.log(~~str) // expected result: 1234negStr = '-234'console.log(~~negStr) // expected result: -234

这是性能方面提到的方式的比较。

补充:js 强制转换 为数字类型

?
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990/* * 将其他的数据类型转换为Number *      转换方式一: *         使用Number()函数 *             - 字符串 --> 数字 *                 1.如果是纯数字的字符串,则直接将其转换为数字 *                 2.如果字符串中有非数字的内容,则转换为NaN *                 3.如果字符串是一个空串或者是一个全是空格的字符串,则转换为0 *             - 布尔 --> 数字 *                 true 转成 1 *                 false 转成 0 * *             - null --> 数字     0 * *             - undefined --> 数字 NaN * * 转换方式二: *         - 这种方式专门用来对付字符串 *         - parseInt() 把一个字符串转换为一个整数 *         - parseFloat() 把一个字符串转换为一个浮点数 */  var a = "123";  //调用Number()函数来将a转换为Number类型a = Number(a);  a = false;a = Number(a);  a = null;a = Number(a);  a = undefined;a = Number(a);  a = "123567a567px";//调用parseInt()函数将a转换为Number/* * parseInt()可以将一个字符串中的有效的整数内容去出来, *     然后转换为Number */a = parseInt(a);  /* * parseFloat()作用和parseInt()类似,不同的是它可以获得有效的小数 */a = "123.456.789px";a = parseFloat(a);  /* * 如果对非String使用parseInt()或parseFloat() *     它会先将其转换为String然后在操作 */a = true;a = parseInt(a);  a = 198.23;a = parseInt(a);  console.log(typeof a);console.log(a);  /* * 在js中,如果需要表示16进制的数字,则需要以0x开头 *             如果需要表示8进制的数字,则需要以0开头 *             如果要要表示2进制的数字,则需要以0b开头 *                 但是不是所有的浏览器都支持 *      */  //十六进制a = 0x10;a = 0xff;a = 0xCafe;  //八进制数字a = 070;  //二进制数字//a = 0b10;  //向"070"这种字符串,有些浏览器会当成8进制解析,有些会当成10进制解析a = "070";  //可以在parseInt()中传递一个第二个参数,来指定数字的进制a = parseInt(a,10);  console.log(typeof a);console.log(a);

总结

到此这篇关于JavaScript中将字符串转换为数字的七种方法的文章就介绍到这了,更多相关js字符串转换为数字内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

标签:2344,转换,数字,字符串,str,parseInt,console,log
From: https://www.cnblogs.com/sunny3158/p/17482564.html

相关文章

  • Cannot Reference “XxxClass.xxx” Before Supertype Constructor Has Been Called
    百度翻译:在调用超类型构造函数之前无法引用“XxxClass.xxx”-----我的理解:一个类的构造器方法还未执行的时候,我们无法使用类的成员属性或成员方法。 下面是此错误的示例代码publicclassMyExceptionextendsRuntimeException{privateinterrorCode=0;......
  • PPT| XX华MES整合IIOT技术提升企业数字化智造(可下载))
    PPT总共有50页,受篇幅有限,有需要PPT的同学可以关注:智能制造数字化咨询PPT总共有50页,受篇幅有限,有需要PPT的同学可以关注:智能制造数字化咨询......
  • Struts1.x系列教程(13):国际化
      对于一个面向全球的Web应用程序,按着不同国家的要求显示相关信息(称为国际化)显得尤为重要。国际化的工作非常复杂和繁琐。因为要翻译很多Web界面,信息格式等。然而,Struts为我们提供了完成国际化工作的更容易的方式。在本文将介绍如何使用Struts来简化国际化的工作。一、处理客户......
  • struts中使用org.apache.commons.fileupload
    struts的DownloadAction使用后发现,当我提取中文名的文件时,会转换成乱码(弹出的对话框为乱码),可能还没有研究明白,所以考虑用smartupload和commons-fileupload。使用smartupload上传过大文件,或者多文件的时候可能出现CPU或内存占用过高的问题.并且:只有重新启动容器才能恢复正常!后决定用......
  • Struts1.x系列教程(14):动态Form
    上一篇:Struts1.x系列教程(13):国际化一、动态Form简介   虽然ActionForm功能强大,但有些时候使用起来有些麻烦。如每建立一个用户录入界面(JSP页面),就得建立一个ActionForm子类来和这个页面对应。当然,我们可以采用嵌套属性从一定程度上弥补这个问题。但是在建立新的用户录入界面时,......
  • 深入探讨struts的ActionMessages消息机制
     深入探讨struts的ActionMessages消息机制 版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处、作者信息和本声明。否则将追究法律责任。http://leaze.blog.51cto.com/83088/51750   在介绍ActionMessages前,我觉得有必要先介绍一下ActionMessages的数......
  • 海康SDK注册报错 Structure.getFieldOrder() on class com.xxx.sdk.HCNetSDK$NET_DVR_
    Structure.getFieldOrder()onclasscom.xxx.sdk.HCNetSDK$NET_DVR_DEVICEINFO_V30doesnotprovideenoughnames[0]海康依赖的版本较低,项目引用的较高,导致海康注册报错,所以降低jna版本 <dependency><groupId>net.java.dev.jna</groupId><artifactId>jna<......
  • 《数字逻辑电路》复习笔记
    其实还是计算机系的课比较适合写复习笔记emm数制和码制各种进制是什么意思:略进制间互相转换:10-2:%2取余,倒序就是二进制了2-8:三位一组化成8进制;8-2:每位扩充成三位2进制表示;(2-16同理)十进制数的二进制编码(BCD码):8421码:四位二进制码从高......
  • 【剑指Offer】6、旋转数组的最小数字
    【剑指Offer】6、旋转数组的最小数字题目描述:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。NOTE:给出的所有元素都大于0,若数组......
  • 对抗性自动编码器系列--有监督对抗自动编码器SAAE的原理及实现-随机数生成想要的数字
    文章目录前言监督对抗性自动编码器SAAE风格和内容的分离SAAE训练结果AEAAESAAE实验对比结果恢复效果对比从随机数重建图像的效果这部分实验代码前言先来看看实验:我们使用MNIST手写数字,测试通过自动编码器和对抗性自动编码器学习重建恢复效果。原始图像:自动编码器重建效果......