ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript Math.ceilメソッド(値切り上げ)_基礎知識

JavaScript Math.ceilメソッド(値切り上げ)_基礎知識

WBOY
WBOYオリジナル
2016-05-16 16:21:141672ブラウズ

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() メソッドを使用します。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。