javascript怎么将数据转换为整数

javascript转换整数的方法:1、使用parseInt()函数,语法“parseInt(“要转换的值”)”。2、利用位操作符,例“~~123.45”。3、使用“Math.floor(值)”与“Math.ceil(值)”语法。

javascript怎么将数据转换为整数

本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。

方法1:parseInt()函数

parseInt() 是一个全局方法,它可以把值转换为整数。转换的过程如下:

先解析位置 0 处的字符,如果不是有效数字,则直接返回 NaN。

立即学习“Java免费学习笔记(深入)”;

如果位置 0 处的字符是数字,或者可以转换为有效数字,则继续解析位置 1 处的字符,如果不是有效数字,则直接返回位置 0 处的有效数字。

以此类推,按照从左到右的顺序,逐个分析每个字符,直到发现非数字字符为止。

parseInt() 将把前面分析合法的数字字符全部转换为数值并返回。

console.log(parseInt("123abc"));  //返回数字123console.log(parseInt("1.73"));   //返回数字1console.log(parseInt(".123"));   //返回值NaN

登录后复制

浮点数中的点对于 parseInt() 来说属于非法字符,因此不会转换小数部分的值。

如果是以 0 开头的数字字符串,则 parseInt() 会把它作为八进制数字处理:先把它转换为八进制数值,然后再转换为十进制的数字返回。

如果是以 0x 开头的数字字符串,则 parseInt() 会把它作为十六进制数字处理:先把它转换为十六进制数值,然后再转换为十进制的数字返回。

var d = 010;  //八进制数字字符串var e = 0x10;  //十六进制数字字符串console.log(parseInt(d));  //返回十进制数字8console.log(parseInt(e));  //返回十进制数字16

登录后复制

parseInt() 也支持基模式,可以把二进制、八进制、十六进制等不同进制的数字字符串转换为整数。基模式由 parseInt() 函数的第二个参数指定。

示例1

下面代码把十六进制数字字符串“123abc”转换为十进制整数。

var a = "123abc";  console.log(parseInt(a,16));  //返回十进制整数1194684

登录后复制

示例2

下面代码把二进制、八进制和十进制数字字符串转换为十进制的整数。

console.log(parseInt("10",2));  //把二进制数字 10 转换为十进制整数,为 2console.log(parseInt("10",8));  //把八进制数字 10 转换为十进制整数,为 8console.log(parseInt("10",10));  //把十进制数字 10 转换为十进制整数,为 10

登录后复制

示例3

如果第一个参数是十进制的值,包含 0 前缀,为了避免被误解为八进制的数字,则应该指定第二个参数值为 10,即显示定义基模式,而不是采用默认基模式。

console.log(parseInt("010"));  //把默认基模式数字 010 转换为十进制整数为 10console.log(parseInt("010",8));  //把八进制数字 010 转换为十进制整数为 8console.log(parseInt("010",10));  //把十进制数字 010 转换为十进制整数为 10

登录后复制

方法2:位操作符

console.log(0 | "123.45")//123console.log(0 | 123.45)//123console.log(0 ^ 123.45)//123console.log(~~123.45)//123

登录后复制

原理:javascript没有整数的概念,所有的数值型都是双精度浮点数。在用位运算符时,它会先把操作数转变成整数,方便操作。而0与其他值异或或者按位或都不会改变操作值的

方法3:Math.floor与Math.ceil

实例

console.log(Math.floor(2.3))//2console.log(Math.floor(-2.3))//-3console.log(Math.ceil(2.3))//3console.log(Math.ceil(-2.3))//-2

登录后复制

两者不足:

Math.floor得到的是数字的最小整数;而Math.ceil得到的是最大整数。所以导致本来-2.3我们取整的话我们要得到的是-2,但是用Math.floor得到的是-3。而2.3用Math.ceil得到的是3,但是我们要的是2就行了。

解决:

//自行定义一个函数function getInt(val){return val>0 ? Math.floor(val):Math.ceil(val);}

登录后复制

【相关推荐:javascript学习教程

以上就是javascript怎么将数据转换为整数的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2711287.html

(0)
上一篇 2025年3月7日 21:01:55
下一篇 2025年3月6日 08:11:21

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • javascript怎么将值转换为数字类型

    转换为数字类型的方法:1、使用parseInt()函数,可以把值转换为整数,语法“parseInt(值)”;2、使用parseFloat()函数,可以把值转换为浮点数,语法“parseFloat(值)”;3、利用乘号运算符,语法“值*1”。…

    2025年3月7日
    200
  • javascript怎么添加元素

    方法:1、appendChild()方法在末尾插入新元素,语法“appendChild(newchild)”;2、insertBefore()方法,在开头插入新元素,新语法“insertBefore(newchild,refchild)”。…

    2025年3月7日
    200
  • 如何使用javascript消除readonly

    使用javascript消除readonly的方法:首先使用“document.getElementById(“id值”)”获取需要处理的元素对象;然后使用“元素对象.readOnly=false”语句去除。 本教程操作环境:windows…

    2025年3月7日
    200
  • JavaScript求字符串长度的方法是什么

    在JavaScript中,可以利用String对象的length属性来求字符串长度,该属性可以返回字符串的长度(字符数),长度以字符为单位;语法格式“string.length”。 本教程操作环境:windows7系统、javascript…

    2025年3月7日
    200
  • javascript怎么清除标签的浮动

    在javascript中,可以利用Style对象的cssFloat属性来清除标签的浮动,该属性设置文本或图像浮动在另一个元素中的什么地方,当值设置为“none”时可清除浮动,语法格式“元素对象.style.cssFloat=”n…

    2025年3月7日
    200
  • JavaScript如何访问节点

    访问节点的方法:1、使用ownerDocument属性;2、使用parentNode属性;3、使用childNodes属性;4、使用firstChild属性;5、使用lastChild属性;6、使用nextSibling属性等。 本教程操作…

    2025年3月7日
    200
  • JavaScript继承的实现方法有哪些

    JavaScript继承的实现方法:1、利用构造原型模式;2、使用动态原型,根据面向对象的设计原则,类型的所有成员应该都被封装在类结构体内;3、使用工厂模式;4、使用类继承,即在子类中调用父类构造函数。 本教程操作环境:windows7系统…

    2025年3月7日
    200
  • javascript如何定义字符串

    方法:1、使用双引号或单引号包含任意长度的文本,例“”true””;2、使用String()类型函数构造字符串,语法“new String(“值”)”;3、使用fromCharCode()方法…

    2025年3月7日
    200
  • JavaScript也用import吗

    JavaScript中有import语句。import语句用于将某个模块中导出的函数或对象、初始值导入到另一个模块中;语法“import {模块名称} from “需要导入模块的路径名””。 本教程操作环境:wind…

    2025年3月7日
    200
  • JavaScript如何求最大值

    方法:1、使用“Math.max()”函数求最大值,可返回两个指定的数中带有较大的值的那个数;2、使用递归函数求最大值;3、使用for循环遍历求最大值;4、使用“Math.max.apply(null,[值,值,值,值..)”语句求最大值。…

    2025年3月7日
    200

发表回复

登录后才能评论