本篇文章给大家分享的内容是javascript如何实现number与string的相互转换,有着一定的参考价值,有需要的朋友可以参考一下
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>number和string之间的互相转换</title>
<script type="text/javascript">
//将number数字转换成string字符串
//第一种方法是使用string()函数,该方法有局限性,即无法将某个数值转换成不同进制的,也无法选取有效数字等等
var num = 123456.7897;
var str = string(num);
console.log("string(" + num + ") = " + str);
//第二种方法是使用number对象的tostring()方法,tofixed()方法,toexponential()方法,toprecision()方法
//tostring()方法默认将number转换成十进制数
str = num.tostring();
console.log(num + ".tostring() = " + str);
//tostring(radix)方法可以带一个参数radix,表示将number按照提供的进制转换,进制范围2-36,如果超出这个范围将报错。
str = num.tostring(2);
console.log(num + ".tostring(2) = " + str);
//tofixed()方法,如果不提供参数的话默认是精确到个位,四舍五入法,不使用指数计数法
str = num.tofixed();
console.log(num + ".tofixed() = " + str);
//tofixed(float)方法可以带一个参数,表示精确到小数点后面第几位,如果参数为0,和不提供参数功能相同
str = num.tofixed(1);
console.log(num + ".tofixed(1) = " + str);
//toexponential方法,该方法使用指数计数法转换数值,小数点前只有一位,小数点后面的位数由参数指定,默认情况下不会截取位数
str = num.toexponential();
console.log(num + ".toexponential() = " + str);
//toexponential方法带参数代表小数点后保留的位数
str = num.toexponential(1);
console.log(num + ".toexponential(1) = " + str);
//toprecision()方法按照参数指定的有效数字个数转换数值,默认不给参数的情况下保留所有有效数字位
str = num.toprecision();
console.log(num + ".toprecision() = " + str);
//toprecision()可以带一个参数,代表有效数字位数,如果该位数小于原数的整数部分位数,则用指数形式表示,否则用非指数形式。
str = num.toprecision(6);
console.log(num + ".toprecision(6) = " + str);
//将string字符串转换成number也有两种方式
//第一种方式仍然使用显示转换函数number,可以转换整数和浮点数,但是这种方法不允许待转换的字符串中出现任何非法字符,包括空格,如果存在非法字符,将得到结果nan。
str = "12 3";
num = number(str);
console.log("number(" + str + ") = " + num);
//第二中方式是使用全局函数parseint()和parsefloat()
//parseint()方法只能解析整数,会忽略所有的前导空白字符,直到解析到某个非法非空白字符为止,小数点在parseint()被认为是非法字符,如果中间出现空格,也会被认为是非法字符。
str = "a .1 1.8";
num = parseint(str);
console.log("parseint(" + str + ") = " + num);
//parseint()方法的第二个参数是进制,默认情况下回以十进制去解析。
str = "0xff";
num = parseint(str, 16);
console.log("parseint(" + str + ",16" + ") = " + num);
//parsefloat()方法可以解析整数和浮点数,它会将小数点解析成合法字符,如果第一个字符就是小数点,则会被解析成0.xxx,但是parsefloat()方法不能更换进制 ,得明确告诉它是多少进制,比如十六进制加0x,实践证明,明确告诉也没用
//0xff会被解析成0...,parseint()方法带不带第二个参数都能解析成255
str = "0xff";
num = parsefloat(str);
console.log("parsefloat(" + str + ") = " + num);
</script>
</head>
<body>
</body>
</html>
相关推荐:
js number string转换
string,number类型转换的快捷方法
string字符串类型转换为number数字类型
以上就是javascript如何实现number与string的相互转换的详细内容。
