浅谈JS 数字和字符串之间相互转化的纠纷
作者:whenia
字符串转数字
1 parseInt() 函数
parseInt() 函数从string的开始解析,返回一个整数
parseInt('123') : 返回 123;
parseInt('1234xxx') : 返回 1234;
parseInt('123.456') : 返回 123;
parseInt('1 2 3') : 返回 1;字符串的情况,自会返回第一个数
parseInt('bb cc 12') : 返回 NaN;字符串第一个不是数,返回nan
parseInt('123' 321) : 返回 321;
parseInt("AF", 16); 返回 175;会自动把二进制十六进制八进制的转化成数字
如果解析不到数字,则将返回一个NaN的值,可以用isNaN()函数来检测;
parseFloat()只会返回小数
2 字符前加“+”
var n =+"123":返回 123
3 字符加“*”
var n ="123"*1:返回 123
4 字符串数组分割增加
var arr = str.split(",") 一个字符串组,用,都分割成多个
b = a.join("-");-是指定的分割符,可以随意,将数组转化成一个字符串
5 字符串和数字相加返回字符串
console.log(12+"12"):返回"1212"
console.log('12' + '34')返回'1234'
console.log('12' + 34 ) 返回'1234'
console.log(12 + '34'')返回1234'
console.log(12 + 34 ) 返回46
6 当字符串和多个数字相加,用括号扩起来
("<img src='images/" + 2 + 1 + ".jpg'>") 返回("<img src='images/" + 21 + ".jpg'>")
如果想转成3
("<img src='images/" + (2+1)+ ".jpg'>") 返回("<img src='images/" + 3 + ".jpg'>")
如果前面是数字相加,则可以先把数字加起来
var a = 10 + 20 + 'abc' + 'cd'; 返回a的值为:30abccd
7eval()如果想进行字符串的运算
eval("x=10;y=20;document.write(x*y)") 返回200
document.write(eval("2+2")) 返回4
var x=10
document.write(eval(x+17) 返回27
数字转字符串
1 tostring()
n = 100
x = n.toString() => "100"或是(100)toString() //tostring(2/16/8)还可以实现进制的转化
2 数字+任意字符串“”
var n = 1234;
var nn = 1234+""
-------------------------------------------------
关于字符串
判断字符串是否包含 包含返回下标 不包含返回-1
var i = str.indexOf("x")
最后一次下标的字符串的字符串
var i = str .lastIndexOf("")
转化大小写
str.toUpperCase() 转大写
str.tolowerCase() 转小写
截取字符串 字符串.substr("从哪开始","截取几个")
str.substr(0,5)
<body>
以上这篇浅谈JS 数字和字符串之间相互转化的纠纷就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。