這篇文章給大家分享的內容是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>
相關推薦:
以上是javascript如何實作Number與String的相互轉換的詳細內容。更多資訊請關注PHP中文網其他相關文章!