ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript Math.ceilメソッド(値切り上げ)_基礎知識
JavaScript Math.ceil メソッド
Math.ceil メソッドは、値を切り上げる、つまり、その値以上の最小の整数を取得するために使用されます。構文は次のとおりです:
Math.ceil(x)
パラメータの説明:
参数 | 说明 |
---|---|
x | 必需。必须是一个数值。 |
ヒント: このメソッドは Math.floor メソッドの正反対です。
Math.ceil メソッド インスタンス
<script language="JavaScript"> document.write( Math.ceil(0.35) + "<br />" ); document.write( Math.ceil(10) + "<br />" ); document.write( Math.ceil(-10) + "<br />" ); document.write( Math.ceil(-10.1) ); </script>
この例を実行すると、次のように出力されます:
1
10
-10
-10
Math.ceil メソッドのエラー?
次の例を実行してみてください:
c213752d78643de9c16ab108c0325b4f document.write( Math.ceil(2.1/0.7) ); 2cacc6d41bbb37262a98f745aa00fbf0 この例の結果は期待どおりではありません (2.1/0.7= 3)。ですが、 4. これは明らかに私たちの常識に反していますが、Math.ceil メソッドの間違いでしょうか?
実際の状況は、2.1/0.7 を計算するときに浮動小数点数として処理されます。 2 進法のため、コンピュータは浮動小数点数を完全に正確に扱えるわけではありません (つまり、通常は多少の進歩が失われます)。そのため、2.1/0.7 の計算結果は 3 に正確に等しいわけではありませんが、3 より少し大きい値になります (およそ: 3.00000000000000044409) 。したがって、 Math.ceil() をこの式に適用すると、結果は 4 になります。
ceil 関数の不正確な問題については、「PHP 浮動小数点計算の不正確な比較と丸め処理」の記事でも触れていますが、PHP 関数では Round() を使用して処理するのが便利です。ただし、JavaScript の Math.round() は大まかすぎるため、この状況を処理するには別の関数を作成する必要があります。つまり、小数点 1 つ以降の余分な値をすべて削除してから、Math.ceil() メソッドを使用します。