前端parseint,前端和后端的区别

http://www.itjxue.com  2023-01-15 22:06  来源:未知  点击次数: 

css前端如何把字符串转为数字

方法主要有三种

转换函数、强制类型转换、利用js变量弱类型转换。

1. 转换函数:

js提供了parseInt()和parseFloat()两个转换函数。前者把值转换成整数,后者把值转换成浮点数。只有对String类型调用这些方法,这两个函数才能正确运行;对其他类型返回的都是NaN(Not a Number)。

一些示例如下:

复制代码 代码如下:

parseInt(“1234blue”); //returns 1234

parseInt(“0xA”); //returns 10

parseInt(“22.5”); //returns 22

parseInt(“blue”); //returns NaN

parseInt()方法还有基模式,可以把二进制、八进制、十六进制或其他任何进制的字符串转换成整数。基是由parseInt()方法的第二个参数指定的,示例如下:

复制代码代码如下:

parseInt(“AF”, 16); //returns 175

parseInt(“10”, 2); //returns 2

parseInt(“10”, 8); //returns 8

parseInt(“10”, 10); //returns 10

['1','2','3'].map(parseInt)详解

看到学生的一道前端面试题,['1','2','3'].map(parseInt),结果是:[1, NaN, NaN],有很多人不理解,下面来解释以下

map 方法 (Array) (JavaScript)

对数组的每个元素调用定义的回调函数并返回包含结果的数组。

array1.map(function(a,b,c){

a 是数组中的每一项即‘1‘’2‘’3‘

b 是数组的下标 即0 1 2

c 是原数组 即 array1

})

如下例子

由上可知map如果里面是一个函数,将会将它的参数传递到函数中去

参数 描述

string 必需。要被解析的字符串。

radix 可选。表示要解析的数字的基数。该值介于 2 ~ 36 之间。

如果省略该参数或其值为 0,则数字将以 10 为基础来解析。如果它以 “0x” 或 “0X” 开头,将以 16 为基数。

如果该参数小于 2 或者大于 36,则 parseInt() 将返回 NaN。

// parseInt(3,2); //NaN

// parseInt(3,4); //3

// parseInt(3,26); // 3

// parseInt(3,36); //3

// parseInt(3,37); //NaN

新手入门前端1——数值转换

Number(): 可以用于任何数据类型转换成数值;

parseInt()、parseFloat(): 专门用于把字符串转换成数值;

一、Number( ):

(1)如果是Boolean值,true和false将分别转换为1和0。

(2)如果是数字值,只是简单的传入和返回。

(3)如果是null值,返回0。

(4)如果是undefined,返回NaN。

(5)如果是字符串,遵循下列规则:

如果字符串截去开头和结尾的空白字符后,不是纯数字字符串,那么最终返回结果为NaN。

如果是字符串中只包含数字(包括前面带正号或负号的情况),则将其转换为十进制数值,即“1”变成1,“123”会变成123,而“011”会变成11(前导的零被忽略了);

如果字符串中包含有效的浮点格式,如“1.1”,则将其转换为对应的浮点数值(同样也会忽略前导零);

如果字符串中包含有效的十六进制格式,例如”0xf”,则将其他转换为相同大小的十进制整数值;

如果字符串是空的(不包含任何字符),则将其转换为0;

如果字符串中包含除上述格式之外的字符,则将其他转换成NaN.

(6)如果是对象,则调用对象的valueOf()方法,然后依照前面的规则转换返回的值。如果转换的结果是NaN,则调用的对象的toString()方法,然后再次依照前面的规则转换返回的字符串值。 关于valueOf

二、parseInt( ):

parseInt()函数可以将字符串转换成一个整数,与Number()函数相比,parseInt()函数不仅可以解析纯数字字符串,也可以解析以数字开头的部分数字字符串(非数字部分字符串在转换过程中会被去除)。

(1)如果第一个字符不是数字字符或者负号,parseInt()就会返回NaN; 也就是说,用parseInt()转换空字符串会返回NaN。

(2)如果第一个字符是数字字符,parseInt()会继续解析第二个字符,直到解析完所有后续字符或者遇到了一个非数字字符。

(3)如果字符串以”0x”开头且后跟数字字符,就会将其当作一个十六进制整数。

(4)如果字符串以”0”开头且后跟数字字符,就会将其当作一个八进制整数。

(5)parseInt()函数增加了第二参数用于指定转换时使用的基数(即多少进制)。

(6)当parseInt()函数所解析的是浮点数字符串时,取整操作所使用的方法为“向下取整”。

三、parseFloat( ):

与parseInt()一样,parseFloat()也可以解析以数字开头的部分数字字符串(非数字部分字符串在转换过程中会被去除)。与parseInt()不同的是,parseFloat()可以将字符串转换成浮点数;但同时,parseFloat()只接受一个参数,且仅能处理10进制字符串。

(1)字符串中的第一个小数点是有效的,而第二个小数点就是无效的了,因此它后面的字符串将被忽略。

(2)如果字符串包含的是一个可解析为整数的数(没有小数点,或者小数点后面都是零),parseFloat()会返回整数。

(责任编辑:IT教学网)

更多

推荐免费资源文章