Nub*_*lar 0 javascript parsefloat tofixed
这里最重要的是我不能设置一个变量,需要在运行中:
处理纬度。让我们称之为lat。假设在这种情况下 lat 是 123.4567
lat.toFixed(2).parseFloat();
TypeError: Object 123.35 has no method 'parseFloat'
Run Code Online (Sandbox Code Playgroud)
最好的方法来解决这个问题?
toFixed是一个方法Number并返回一个字符串。window.parseFloat是一个全局函数而不是 的方法String,但如果你真的必须,那么你可以把它变成一个String方法,否则就将它用作一个函数。在这种情况下,您甚至可以使用一元加运算符。
(有很多关于增强原生对象的讨论,我不打算深入,你可以做一些研究并下定决心。)
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));
Run Code Online (Sandbox Code Playgroud)
输出
123.46
123.46
123.46
Run Code Online (Sandbox Code Playgroud)