誰かが JS の質問をしました:
var i = 0.07;
var r = i*100;
alert(r);
情報を確認すると、実際には次のようになります。変数を格納する場合、数値型と浮動小数点型の区別はありませんが、一律に浮動小数点数として格納されます。 JavaScript は、IEEE 754-2008 標準で定義された 64 ビット浮動小数点形式を使用して、IEEE 754 の定義に従います: http://en.wikipedia.org/wiki/IEEE_754-2008
の長さ。 10 進数 64 に対応する整数は 10、小数部の長さは 16 であるため、デフォルトの計算結果は「7.0000000000000001」になります。最後の小数点が 0 の場合、1 を有効桁フラグとして受け取ります。
同様に、1/3 の結果は 0.3333333333333333 になるはずだと想像できます。
では、この値を修正するにはどうすればよいでしょうか?
次のメソッドを使用できます:
1. parseInt
var r4=parseInt(i*100);
2. .round
var r2=Math.round((i*100)*1000)/1000;
上記の 2 つのメソッドはどちらも 7 を取得できます。
完全なテスト コード:
🎜>
テスト スクリプト
著者別の最新記事
-
2024-10-22 09:46:29
-
2024-10-13 13:53:41
-
2024-10-12 12:15:51
-
2024-10-11 22:47:31
-
2024-10-11 19:36:51
-
2024-10-11 15:50:41
-
2024-10-11 15:07:41
-
2024-10-11 14:21:21
-
2024-10-11 12:59:11
-
2024-10-11 12:17:31