JavaScript 数値演算 新しいページはコチラ
提供: yonewiki
(→三角関数 sin/cos/tan/asin/acos/atan/atan2) |
(→最小値・最大値 max/min) |
||
410行: | 410行: | ||
=== 最小値・最大値 max/min === | === 最小値・最大値 max/min === | ||
+ | 例えば、3,-1,13,5,9,25,-0.51,3.9,9.9といった数字の集まりがあった場合に最大値と最小値ってのは、人間が目視ですぐに、 | ||
+ | 最大値が25で最小値は-1だと言えますが、コンピュータがそれを見つけるにはなかなか地味な作業を繰り返さなければ、最大値を正確に返答することができません。地味に最初に表示されている3が最大として、次の数字と比較してどうなのかを確認しながら最後までチェックするのです。最小値も同じことです。人間は一瞬みただけですぐに最大、最小が判別できますが、何気に高度な比較をやっていることもあります。しかし、これが数字の羅列が1万や10万という個数になった場合にもコンピュータは間違いなく、最後まで比較をやって答えを正確に導き出せるという人間技からは到底考えられない地味な働きを行うことができます。間違えないという点では、コンピュータには勝てないかもしれません。途中にでてくる-0.51という数字があるだけでも一瞬、-1との比較で間違えそうになるかもしれません。 | ||
+ | |||
+ | |||
+ | ともかく、そういった作業をするための関数がMath.maxであり、Math.minです。自分でプログラムして大きい値がどっちか、小さい値がどっちかを求めるものを作ることも可能ですが、関数としても提供されています。コーディング量が節約できるので、うまく活用するのも良いと思います。 | ||
+ | |||
+ | |||
+ | 例えば、以下のように記述することで、比較ができます。 | ||
+ | |||
+ | *var nMaxTemp = Math.max(3,-1); | ||
+ | *var nMinTemp = Math.min(3,-1); | ||
+ | |||
+ | という具合です。多くの数の中から最大、最小を求める場合は以下のサンプルのようにプログラムを組み必要があるでしょう。 | ||
+ | |||
+ | |||
+ | サンプル | ||
+ | |||
=== 絶対値 abs === | === 絶対値 abs === | ||
=== 切り捨て・切り上げ・四捨五入 floor/ceil/round === | === 切り捨て・切り上げ・四捨五入 floor/ceil/round === |