Javascript 保留两位小数 保留多位小数

网上搜一番,发现很多手动算的文章,然后想起有 toFixed 方法就可以完成这个事情。我的疑问来了,不是有 toFixed 方法吗?干嘛要手动算,难道 IE6 不支持?我测试了一下,IE6 是支持的,直接 toFixed 就得了,还写函数干嘛?

var num = 123.456789;
alert(num.toFixed(2)); // 输出 123.46
alert(num.toFixed(3)); // 输出 123.457

alert(3.1415926.toFixed(2)); // 输出 3.14

// 下面是网上搜索到的函数
function formatFloat(src, pos)
{
    return Math.round(src*Math.pow(10, pos))/Math.pow(10, pos);
}

alert(formatFloat("1212.2323", 2));

我又想起 PHP 里面有需求是要获取微秒级别的时间戳,我们知道 time 是秒级的,PHP 里还有个函数是 microtime,这个函数默认返回字符串形式,要得到数字形式的怎么弄呢,网上还依然有很多博客(甚至时间为2012 2013年发布的文章,PHP5都出来10年了啊喂)在介绍下面这种老旧的方法:

function microtime_float(){ 
	list($usec, $sec) = explode(" ", microtime()); 
	return ((float)$usec + (float)$sec); 
}

但其实自 PHP 5.0 起 microtime 函数可以接受一个参数,如果为 true,则返回一个浮点数。

我相信,现在几乎没有不支持 PHP5 的环境了吧,microtime_float() 这类函数还有什么存在意义?