2

おはよう/午後/夕方:)。

GPS 座標で使用する 4 つの 10 進数を使用して、浮動小数点数に変換したい 2 つの整数があります。

var z = y.toFixed(4);
var p = x.toFixed(4);

しかし、私を悩ませている状況があります。それは、これらの「z」と「p」の合計です。

var t = z + p;

この指示の後、次のような一般的な機能を使用して画面に結果を印刷したいと思います。

document.write(z);  document.write("<br />");
document.write(t);
document.write("<br />");   
document.write("<br />");

私が得る結果は次のとおりです。

0.0000
0.0000300.0000

1.0000
1.0000300.0000

2.0000
2.0000300.0000

しかし、私が本当に欲しいのは:

300.0000
301.0000
302.0000

結局のところ、「z」と「p」を合計するにはどうすればよいですか? :S

Noobの質問、私は知っています:S.

よろしく、サム

4

6 に答える 6

6

これは、ではなくオブジェクトを.toFixed()返すため、演算子が連結を実行するためです。StringNumber+

代わりに、最初に実際の数値の加算を実行.toFixed()てから、表示用に結果を「丸める」必要があります。

var t = (x + y).toFixed(4);
document.write(t);
于 2013-02-01T10:29:16.297 に答える
3

あなたが望むのは次のとおりだと思います:

var t = x + y;
var p = t.toFixed(4);
document.write(p);
于 2013-02-01T10:28:41.877 に答える
2

これを試して

var t = (x + y).toFixed(4);

ここでフィドル

于 2013-02-01T10:29:04.153 に答える
1

JavaScript メソッドtoFixedは、数値を文字列に変換します。したがって、操作を実行するz + pと、実際には文字列の連結であり、数値の加算ではありません。最初に番号を追加してから適用することができますtoFixed

于 2013-02-01T10:30:19.270 に答える
1

toFixed()は文字列を返します。これは、使用時に文字列を連結していることを意味しますvar t = z + p。最初に座標を合計してから を呼び出す必要がありますtoFixed()

于 2013-02-01T10:30:32.443 に答える
-2

いくらpですか?文字列を連結していますか?

試してみてくださいvar t = parseFloat(z) + parseFloat(p);

于 2013-02-01T10:26:24.077 に答える