JQueryのオートコンプリートを使用していますが、基本的にはlat_idとlng_idの文字列が長すぎます。JQueryのオートコンプリートセットの文字列の長さ
ドットの後に6桁以内になるように設定する必要があります。例えば
:
Before:
-1.1501888001110125
After
-1.150188
が、このことは可能ですかそうでなければ、ラウンド方法はありますか?
JQueryのオートコンプリートを使用していますが、基本的にはlat_idとlng_idの文字列が長すぎます。JQueryのオートコンプリートセットの文字列の長さ
ドットの後に6桁以内になるように設定する必要があります。例えば
:
Before:
-1.1501888001110125
After
-1.150188
が、このことは可能ですかそうでなければ、ラウンド方法はありますか?
はこれを試してみてください。
var mystring = "-1.1501888001110125";
var newstring = mystring.substr(0,(mystring.indexOf('.') + 7));
(その7ためのプラス6つの文字 "")
input
をトリミング:
$('#inputid').change(function() {
var $this = $(this);
var $thisval = $this.val();
if ($thisval.indexOf('.') > 0 && $thisval.length > 7) {
$this.val($thisval.substr(0, ($thisval.indexOf('.') + 7)));
}
});
この解決策の唯一の悪い点は、あなたが数字を切り捨て、それを丸めないことです。 1.50188899999999999がある場合は、1.501888となります.1501888ではなく、1.501889となります。いくつかのシナリオでは、そうしたくないシナリオがいくつかあります。 –
@ S.VisserはOPの質問のコメントを見ます - "丸めなし"とその文字列ではないので、 "substr"がより効果的です – ManseUK
申し訳ありませんが、コメントは見ませんでした。彼のポストでこれを見ただけです "これが可能かどうか、そうではない場合、そこには道があるのですか?"しかしそれの横には、検索でここに来る人々に気づくのは良いことです。あなたのコードが悪いとか言っているのではありませんでしたか?) –
function roundNumber(num, dec) {
var result = Math.round(num*Math.pow(10,dec))/Math.pow(10,dec);
return result;
}
alert(roundNumber(-1.32423423421421312, 6))
その-1.150189ではないでしょうか?またはあなたは丸めをしたくありません - あなたは地図上のマーカーが移動することを知っています(正確ではない) – ManseUK
いいえ、それを丸めたくありません。ちょうど6を残すためにポイントの後に余分な数字を離したい。 – Satch3000