javascript转换成整数-javascript如何将数据转换为整数

2023-12-03 0 3,471 百度已收录

如何在 JavaScript 中转换整数: 1. 使用 parseInt() 函数,句型为“parseInt(“要转换的值”)”。 2. 使用位运算符,例如“~~123.45”。 3. 使用“Math.floor(value)”和“Math.ceil(value)”语法。

本教程的运行环境:Windows 7系统,JavaScript版本1.8.5,Dell G3笔记本。

方法一:parseInt()函数

parseInt() 是一个将值转换为整数的全局方法。 转换过程如下:

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

登录后复制

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

如果是以0开头的数字字符串,parseInt()会将其视为八补数:先将其转换为八补数,然后将其转换为十补数并返回。

如果是以 0x 开头的数字字符串,parseInt() 会将其视为 16 的补码:首先将其转换为 16 的补码,然后将其转换为 10 的补码并返回。

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

登录后复制

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

实施例1

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

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

登录后复制

实施例2

以下代码将二的补码、八的补码和十的补码数字字符串转换为十的补码整数。

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

登录后复制

实施例3

如果第一个参数是十的补码值并且包含0前缀,为了防止被误解为八的补码数javascript转换成整数,第二个参数值应该指定为10,即显式定义基模式而不是默认基本模式。 。

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

登录后复制

方法2:位运算符

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

登录后复制

原理:JavaScript没有整数的概念,所有数值类型都是双精度浮点数。 使用按位运算符时,首先会将操作数转换为整数以方便运算。但是,如果将 0 与其他值进行异或,则按位或不会改变运算值。

方法 3:Math.floor 和 Math.ceil

例子

javascript转换成整数-javascript如何将数据转换为整数

console.log(Math.floor(2.3))//2
console.log(Math.floor(-2.3))//-3
console.log(Math.ceil(2.3))//3
console.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);
}

登录后复制

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 javascript javascript转换成整数-javascript如何将数据转换为整数 https://www.wkzy.net/game/199310.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务