整理一下 Vue JS 截取字符串和数据类型转换的一些方法:
截取字符串:
这里总结了3种方法,可以根据需要使用。
slice() 方法可提取字符串的某个部分,并以新的字符串返回被提取的部分 stringObject.slice(start,end)
。
start
要抽取的片断的起始下标。如果是负数,则该参数规定的是从字符串的尾部开始算起的位置。也就是说,-1 指字符串的最后一个字符,-2 指倒数第二个字符,以此类推。
end
紧接着要抽取的片段的结尾的下标。若未指定此参数,则要提取的子串包括 start 到原字符串结尾的字符串。如果该参数是负数,那么它规定的是从字符串的尾部开始算起的位置。
substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符 stringObject.substr(start,length)
。
start
必需。要抽取的子串的起始下标。必须是数值。如果是负数,那么该参数声明从字符串的尾部开始算起的位置。也就是说,-1 指字符串中最后一个字符,-2 指倒数第二个字符,以此类推。
length
可选。子串中的字符数。必须是数值。如果省略了该参数,那么返回从 stringObject 的开始位置到结尾的字串。
substring() 方法用于提取字符串中介于两个指定下标之间的字符,不接受负数 stringObject.substring(start,stop)
。
start
必需。一个非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置。
stop
可选。一个非负的整数,比要提取的子串的最后一个字符在 stringObject 中的位置多 1。如果省略该参数,那么返回的子串会一直到字符串的结尾。
示例:
let str = 'abcdef'; str = str.slice(0);//返回整个字符串 abcdef str = str.substr(0);//返回整个字符串 abcdef str = str.substring(0);//返回整个字符串 abcdef // 使用一个参数 str = str.slice(2);//截取第2位之后所有的字符 cdef str = str.substr(2);//截取第2位之后所有的字符 cdef str = str.substring(2);//截取第2位之后所有的字符 cdef // 使用两个参数 str = str.slice(2,4);//截取第2到第4位之间的字符 cd str = str.substr(2,4);//截取从第3个开始往后数4位之间的字符 cdef str = str.substring(2,4);//截取第2到第4位之间的字符 cd // 使用参数且带负数 str = str.slice(1,-3);//截取第1至倒数第3位之间的字符 bc str = str.substr(1,-3);//不能为负数,若强行传递负数,会被当成0处理 '' #负数转换为0 str = str.substring(1,-3);//a #负数转换为0 console.log(str)
数据类型转换:
典型的 String 转 Number 问题。取决于 percent 属性值是整数还是分数。
转换函数:
/*整数*/ parseInt(string) /*分数*/ parseFloat(string) /*Number*/ Number(val)
保留几位小数在方法后面加 .toFixed()
,比如去分数保留2位小数 parseFloat(string).toFixed(2)
;
强制类型转换:
/*把给定的值转换成Boolean型*/ Boolean(value) /*把给定的值转换成数字(可以是整数或浮点数)*/ Number(value) /*把给定的值转换成字符串*/ String(value)
利用JS变量弱类型转换:
举个小例子,一看,就会明白了。
代码如下:
var str= '012.345 '; var x = str-0; x = x*1;
上例利用了 JS 的弱类型的特点,只进行了算术运算,实现了字符串到数字的类型转换,不过这个方法还是不推荐的。
参考文献:
未经允许不得转载:前端资源网 - w3h5 » Vue js 截取字符串及数据类型强制转换