方法:1、用加号“+”运算符,语法“数字 + ""”;2、用toString()方法,语法“数字变量.toString()”;3、用toFixed()、toExponential()或toPrecision()将数字转换为小数格式字符串。
本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。
javascript中将数字转为字符串
方法1:使用加号“+”运算符
当值与空字符串相加运算时,JavaScript 会自动把值转换为字符串。
var n = 123; n = n + ""; console.log(typeof n); //返回类型为 string
方法2:使用toString()方法
toString() 是 Object 类型的原型方法,Number 子类继承该方法后,重写了 toString(),允许传递一个整数参数,设置显示模式。数字默认为十进制显示模式,通过设置参数可以改变数字模式。
1) 如果省略参数,则 toString() 方法会采用默认模式,直接把数字转换为数字字符串。
var a = 1.000; var b = 0.0001; var c = 1e-1; console.log(a.toString()); //返回字符串“1” console.log(b.toString()); //返回字符串“0.0001” console.log(c.toString()); //返回字符串“0.0001”
toString() 方法能够直接输出整数和浮点数,保留小数位。小数位末尾的零会被清除。但是对于科学计数法,则会在条件许可的情况下把它转换为浮点数,否则就用科学计数法形式输出字符串。
var a = 1e-14; console.log(a.toString()); //返回字符串“1e-14”
在默认情况下,无论数值采用什么模式表示,toString() 方法返回的都是十进制的数字字符串。因此,对于八进制、二进制或十六进制的数字,toString() 方法都会先把它们转换为十进制数值之后再输出。
var a = 010; //八进制数值 10 var b = 0x10; //十六进制数值10 console.log(a.toString()); //返回字符串“8” console.log(b.toString()); //返回字符串“16”
2) 如果设置参数,则 toString() 方法会根据参数把数值转换为对应进制的值之后,再输出为字符串表示。
var a = 10; //十进制数值 10 console.log(a.toString(2)); //返回二进制数字字符串“1010” console.log(a.toString(8)); //返回八进制数字字符串“12” console.log(a.toString(16)); //返回二进制数字字符串“a”
方法3:使用toFixed()、toExponential()或toPrecision()方法将数字转换为小数格式字符串
使用 toString() 方法把数值转换为字符串时,无法保留小数位。这对于货币格式化、科学计数等专业领域输出显示数字来说,无疑是不方便的。为此,JavaScript 提供了 3 个专用方法,具体说明如下。
1) toFixed()
toFixed() 能够把数值转换为字符串,并显示小数点后的指定位数。
var a = 10; console.log(a.toFixed(2)); //返回字符串“10.00” console.log(a.toFixed(4)); //返回字符串“10.0000”
2) toExponential()
toExponential() 方法专门用来把数字转换为科学计数法形式的字符串。
var a = 123456789; console.log(a.toExponential(2)); //返回字符串“1.23e+8” console.log(a.toExponential(4)); //返回字符串“1.2346e+8”
toExponential() 方法的参数指定了保留的小数位数。省略部分采用四舍五入的方式进行处理。
3) toPrecision()
toPrecision() 方法与 toExponential() 方法相似,但它可以指定有效数字的位数,而不是指定小数位数。
var a = 123456789; console.log(a.toPrecision(2)); //返回字符串“1.2e+8” console.log(a.toPrecision(4)); //返回字符串“1.235e+8”
【推荐学习:javascript高级教程】
以上是javascript中怎么将数字转为字符串的详细内容。更多信息请关注PHP中文网其他相关文章!