1.001と0.001の 2 つのテキストボックス値を追加してから、 1.0019999999parseFloat
を取得します。1.002が欲しいです。手伝って頂けますか?
18035 次
5 に答える
27
Javascript Numberクラスには、toFixed()
必要なものを取得する関数があります。
だからあなたはそうすることができ、それはあなたに1.002parseFloat("1.0019999").toFixed(3)
を与えるでしょう。
パラメータ(この場合は3)は、小数点以下に表示する桁数です。
于 2008-10-06T12:15:39.870 に答える
10
0.002 を 2 進数として正確に表すことはできません。10 進法で 1/3 を表すことができないのと同じです。
1/3 = 0.33333... 繰り返します。基数 10 で数値を正確に表すには、無限の数の 10 進数が必要になります。
0.002 は、基数 10 で正確に表すことができる数値ですが (ここに示されているように)、コンピューターで使用される基数 2 では表せません。この数値を正確に表すには、無限の数の 2 進数が必要になります。
于 2008-10-06T11:21:21.790 に答える
6
JavaScript メソッドNumber.toFixed()
とNumber.toPrecision()
はここで役立ちますが、String
. 考えられる解決策は次のとおりです。
var x = parseFloat(parseFloat("1.0019999999").toPrecision(3));
于 2012-07-09T17:16:00.353 に答える
0
簡単に修正したい場合は、最も近い千分の1に丸めることができます
Math.round((1.001+0.001)*1000)/1000
于 2008-10-06T11:23:45.013 に答える