Javascript方法链接:正确的方法链toFixed()和parseFloat()返回一个数字,而不是一个字符串?

时间:2013-06-19 18:46:21

标签: javascript parsefloat tofixed

最重要的是我无法设置变量,需要动态:

处理纬度。我们称之为lat。假设在这种情况下lat是123.4567

lat.toFixed(2).parseFloat();

TypeError: Object 123.35 has no method 'parseFloat'

最好的办法是什么?

1 个答案:

答案 0 :(得分:3)

toFixedNumber的方法并返回一个字符串。 window.parseFloat是一个全局函数,而不是String的方法,但如果你真的必须,那么你可以将它作为String方法,否则只需将其用作函数。在这种情况下,您甚至可以使用unary plus运算符。

(关于扩充本土对象的讨论很多,我不打算进行,你可以做一些研究并自己决定。)

的Javascript

if (!String.prototype.parseFloat) {
    String.prototype.parseFloat = function () {
        return parseFloat(this);
    }
}

var lat = 123.456789;

console.log(parseFloat(lat.toFixed(2)));
console.log(lat.toFixed(2).parseFloat());
console.log(+lat.toFixed(2));

输出

123.46
123.46 
123.46 

jsfiddle