码迷,mamicode.com
首页 > 其他好文 > 详细

Number类为数字到字符串的类型转换场景定义三种方法

时间:2015-10-11 19:33:56      阅读:133      评论:0      收藏:0      [点我收藏+]

标签:

toFixed()根据小数点后的指定位数将数字转换为字符串,它从不使用指数计数法;

toExponential()使用指数计数法将数字转换为指数形式的字符串,其中小数点前只有一位,小数点后的位数则由参数指定(也就是说有效数字位数比指定的位数要多一位);
toPrecision()根据指定的有效数字位数将数字转换成字符串,如果有效数字的位数少于数字整数部分的位数,则转换成指数形式。
这三种方法都会适当的进行四舍五入或填充0。
例:
var n = 123456.789;
n.toFixed(0);   //"123457"
n.toFixed(2);   //"123456.79"
n.toFixed(5);   //"123456.78900"
n.toExponential(1);    //"1.2e+5"
n.toExponential(3);    //"1.235e+5"
n.toPrecision(4);     //"1.235e+5"
n.toPrecision(7);      //"123456.8"
n.toPrecision(10);   //"123456.7890"
 
另:如果通过Number()转换函数传入一个字符串,它会试图转换为一个整数或浮点数直接量,这种方法只能基于十进制转换,且不能出现非法的尾随字符;parseInt()函数和parseFloat()函数(它们是全局函数,不从属于任何类的方法)更灵活,前者这解析整数,而后者可解析整数和浮点数。parseInt()和parseFloat()都会跳过任意数量的前导空格,尽可能解析更多数值字符,并忽略后面的内容,如果第一个非空格字符是非法的数字直接量,将最终返回NaN:
parseInt("3 blind mice")    // =>3
parseFloat("3.14 meters")   // =>3.14
parseInt("-12.34")   // =>-12
parseInt("0xFF")   // =>255
parseInt("0xff")   // =>255
parseInt("-0xff")  // =>-255
parseFloat(".1")   // =>0.1
parseInt("0.1")   // =>0
parseInt(".1")   // =>NaN:整数不能以.开头
parseFloat("$72.47")    // =>NaN:数字不能以$开头
 
parseInt()可以接受第二个可选参数,这个参数指定数字转换的基数,合法的取值范围是2~36;如:
parseInt("11",2);   //  => 3(2进制)
parseInt("ff",16);   // =>255(16进制)

Number类为数字到字符串的类型转换场景定义三种方法

标签:

原文地址:http://www.cnblogs.com/eiyc/p/4869695.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!