ここで最も重要なことは、変数を設定できないことです。その場で行う必要があります。
緯度の扱い。緯度としましょう。この場合、緯度が 123.4567 だとしましょう
lat.toFixed(2).parseFloat();
TypeError: Object 123.35 has no method 'parseFloat'
これについて最善の方法はありますか?
ここで最も重要なことは、変数を設定できないことです。その場で行う必要があります。
緯度の扱い。緯度としましょう。この場合、緯度が 123.4567 だとしましょう
lat.toFixed(2).parseFloat();
TypeError: Object 123.35 has no method 'parseFloat'
これについて最善の方法はありますか?
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));
出力
123.46
123.46
123.46
jsfiddleについて