【js】Math.pow(考え方編!!)
数値aをb乗したい時
Math.pow(a,b);
aをb乗するメソッド。
例:100の2乗の数値が必要。
<script>
let time = Math.pow(100,2);
console.log(time);
</script>
</body>
【結果】
10000
例:小数点第2まで表示するプログラム
<考え方>
Math.floorで小数点以下を切り捨てる。<手順>
1.小数点を2つ右にずらす
2.小数点以下を削除
3.小数点を2つ左に戻す
<考え方>
大富豪と同じで、最後の手を設定してから、実現するために過程を考える。
さらに過程をより効率化する方法(メソッド)がないかを考える。
今回は、最後の手段は、小数点が右に2つずれてる状態でfloorで切り捨てること。(実際には小数点を戻す必要があるが)
その過程で使用する10の2乗を効率的に算出できるMath.powメソッドを積極的に活用。
小数点を動かす関数を自分で作ることも可能だが、時間効率の悪さとバグのリスクがあるので、まずは、メソッドがないかを確認しよう!!
<script> //[Math]を色々使う //小数点を右に2つ動かしてからfloorするという考え方(今回は×10を2回) let move_point = function(num,digit){ let time = Math.pow(10,digit); return remove_digit_num = Math.floor(num*time) / time; } document.getElementById('pro_btn').onclick = function(){ let NUM_val = document.getElementById('NUM').value; document.getElementById('output').textContent = move_point(NUM_val,2); };
let time = Math.pow(10,digit);部分で自乗した後の数値を出して変数に代入している。
それをかけて、割っている。