首页 >web前端 >js教程 >javascript如何实现Number与String的相互转换

javascript如何实现Number与String的相互转换

零到壹度
零到壹度原创
2018-04-09 10:18:014030浏览


本篇文章给大家分享的内容是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的相互转换的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn