1. parseInt
概念:以第二个参数为基数来解析第一个参数字符串,通常用来做十进制的取整(省略小数)如:parseInt(2.7) //结果为2
特点:接收两个参数parseInt(string,radix)
['1','2','3'].map(parseInt)结果
result:
[1, NaN, NaN]
['1','2','3'].map(parseInt) 就是将字符串1,2,3作为元素;0,1,2作为下标分别调用 parseInt 函数。即分别求出 parseInt('1',0), parseInt('2',1), parseInt('3',2)的结果
2.位运算
1 console.log("123.45"| 0)
//123
2 console.log(123.45 | 0)
//123
3 console.log(123.45 ^ 0)
//123
4 console.log(~~123.45)
//123
浮点数是不支持位运算的,所以会先把1.1转成整数1再进行位运算,就好像是对浮点数向下求整。所以1|0的结果就是1
删除最后一个数字
按位或
运算符还可以用于从整数的末尾删除任意数量的数字。这意味着我们不需要使用这样的代码来在类型之间进行转换。
-
let str = "1553";
-
Number(str.substring(0, str.length - 1));
相反,按位或运算符可以这样写:
-
console.log(1553 / 10 | 0) // Result: 155
-
console.log(1553 / 100 | 0) // Result: 15
-
console.log(1553 / 1000 | 0) // Result: 1
3. Math
-
Math.round:四舍五入;Math.round(3.6) == 4
-
Math.ceil:向上取整;Math.ceil(3.4) == 4
-
Math.floor:向下取整;Math.floor(3.6) == 3
1. parseInt概念:以第二个参数为基数来解析第一个参数字符串,通常用来做十进制的取整(省略小数)如:parseInt(2.7) //结果为2特点:接收两个参数parseInt(string,radix)['1','2','3'].map(parseInt)结果result:[1, NaN, NaN]['1','2','3'].map(parseInt) 就是将字符串...
[removed]
[removed]("
整数
转换
函数:parseInt(数据,底数)<br>");
[removed]("10101=>" + parseInt("10101",2)+"<br>");
[removed]("77=>" + parseInt("77",8)+"<br>");
[removed]("2A3B=>" + parseInt("2A3B",16)+"<br>");
[removed]("077=>" + parseInt("0
"^\\d+$" //非负
整数
(正
整数
+ 0)
"^[0-9]*[1-9][0-9]*$" //正
整数
"^((-\\d+)|(0+))$" //非正
整数
(负
整数
+ 0)
"^-[0-9]*[1-9][0-9]*$" //负
整数
"^-?\\d+$" //
整数
"^\\d+(\\.\\d+)?$" //非负
浮点数
(正
浮点数
+ 0)
"^(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|(
如果希望将
浮点数
转换
为
整数
,可以使用Math.floor()、Math.ceil()或Math.round()。但是还有一种更快的
方法
可以使用|(位或运算符)将
浮点数
截断为
整数
。
console.log(23.9 | 0); // Result: 23
console.log(-23.9 | 0); // Result: -23
|的行为取决于处理的是正数还是负数,所以最好只在确定的情况下使用这个快捷方式。
如果n为正,则n | 0有效地向下舍入。如果n为负数,则有效地向上舍入。更准确地说,此操作将
console.log(parseInt(num)); // -3
用parseInt取
整数
,结果是没问题的,但是如果严格来说,其实parseInt并不是设计用来取
整数
的。
???????? 知识点:parseInt(string, radix)``这个
方法
是一个将字符串
转换
为
整数
的
方法
,它有两个参数,第一个参数表示要
转换
的字符串,如果参数不是一个
一、小数
转
为
整数
floor:下退 Math.floor(12.9999) = 12 ceil:上进 Math.ceil(12.1) = 13; round: 四舍五入 Math.round(12.5) = 13 Math.round(12.4) = 12
二、小数位数控制
保留到
整数
:exam = Math.round(exam);
保留一位小数:exam = Math.ro