/ JavaScript

JavaScript实验:number转换成string

在JavaScript的值类型转换中,最常发生的就是string与number这两种类型值之间的相互转换。

可以通过调用number值的4个函数(事实上,是JS将number值自动转化为Number对象后,Number类的4个函数)来将其转换成string:

  1. toString()。
  2. toFixed()。
  3. toExponential()。
  4. toPrecision()。

toString()

可以在number值上调用toString()方法来将其转换成字符串。toString()函数接受一个2到36之间的正整数作为参数,其作用为定义数值的进制数;如果该参数缺失,那么toString()函数就以10进制来表示相应的数值。

var a = 42;
console.log(a.toString(2));//101010
console.log(a.toString());//42
console.log("0x" + a.toString(16));//0x2a

var b = 0xff;
console.log(b.toString());//255

toFixed()

toFixed()函数接受一个整数作为参数,参数作用为指定小数点后的精确位数。toFixed()函数所接受的参数还可以是负数(虽然使用情况较少),当参数为负数时,数值的整数部分将损失精度。在使用toFixed()函数对数值进行调整时,JavaScript遵循的是四舍五入的原则。

var x = 17.38;
console.log(x.toFixed(0));//17
console.log(x.toFixed(1));//17.4
console.log(x.toFixed(4));//17.380
console.log(x.toFixed(-1));//20

toExponential()

可以使用toExponential()函数来将数值转换成用科学计数法来表示。toExponential()函数接受一个非负整数为参数(如果此参数为负数,则抛出RangeError),作为科学计数法的精度。与toFixed()函数一样,toExponential()函数对数值进行调整时遵循四舍五入原则。

var y = 17951.38596
console.log(y.toExponential(1));//1.8e+4
console.log(y.toExponential(0));//2e+4

toPrecision()

toPrecision()函数接受一个正整数作为参数(如果参数为0或者负数,程序将抛出RangeError),并将其作为数值的精确位数(包括整数部分和小数部分在内),如果该精确位数小于数值的整数部分位数,那么数值将转换成用科学计数法来表示。与toFixed()函数一样,toPrecision()函数对数值进行调整时遵循四舍五入原则。

var z = 17951.38596;
console.log(z.toPrecision(8));
console.log(z.toPrecision(3));

本文实验代码:
http://jsfiddle.net/cshao/Cv9qt/

JavaScript实验:number转换成string
Share this

Subscribe to Chuan's blog