🙆

JavaScript 数値操作まとめ(Math オブジェクト編)

に公開

JavaScriptでは数値を扱うときに、Math オブジェクトを使うことで
丸め、乱数、最大値・最小値、三角関数などの操作ができる。

Math.floor()

小数点以下を切り捨てる
常に「小さい方向」に丸める。

console.log(Math.floor(3.9)); // 3
console.log(Math.floor(-3.9)); // -4

Math.ceil()

小数点以下を切り上げる
常に「大きい方向」に丸める。

console.log(Math.ceil(3.1)); // 4
console.log(Math.ceil(-3.1)); // -3

Math.round()

四捨五入する
0.5以上なら切り上げ、未満なら切り捨て。

console.log(Math.round(3.4)); // 3
console.log(Math.round(3.5)); // 4

toFixed()

小数点以下の桁数を指定して丸める(文字列を返す)

let num = 3.14159;
console.log(num.toFixed(2)); // "3.14"
console.log(Number(num.toFixed(0))); // 3

toLocaleString()

数値を「カンマ区切り」などのローカル形式で表示する

let price = 1234567.89;
console.log(price.toLocaleString()); // "1,234,567.89"
console.log(price.toLocaleString('ja-JP', { style: 'currency', currency: 'JPY' }));
// "¥1,234,568"

Math.random()

0以上1未満の乱数を生成

console.log(Math.random()); // 0.123456...(毎回違う値)

// 1〜10の整数をランダムに出す例
let num = Math.floor(Math.random() * 10) + 1;
console.log(num);

Math.max()

複数の数の中から最大値を返す

console.log(Math.max(3, 8, 1, 9)); // 9

配列から最大値を出したいとき👇

let arr = [3, 8, 1, 9];
console.log(Math.max(...arr)); // 9

Math.min()

複数の数の中から最小値を返す

console.log(Math.min(3, 8, 1, 9)); // 1

配列から最小値を出す👇

let arr = [3, 8, 1, 9];
console.log(Math.min(...arr)); // 1

Math.PI

円周率(π ≒ 3.14159)を返す

console.log(Math.PI); // 3.141592653589793

Math.sqrt(a)

平方根(ルート)を返す

console.log(Math.sqrt(9)); // 3
console.log(Math.sqrt(2)); // 1.4142135623730951

Math.sin() / Math.cos()

三角関数(ラジアン単位)

console.log(Math.sin(Math.PI / 2)); // 1
console.log(Math.cos(Math.PI));     // -1

角度で指定したい場合は、度数法→ラジアン変換が必要:

let degree = 30;
let radian = degree * (Math.PI / 180);
console.log(Math.sin(radian)); // 0.5

まとめ

メソッド 目的 結果
Math.floor(3.9) 小数点切り捨て 3
Math.ceil(3.1) 小数点切り上げ 4
Math.round(3.4) 四捨五入 3
num.toFixed(2) 小数点以下2桁に丸め "3.14"
price.toLocaleString() カンマ区切り表示 "1,234,567.89"
Math.random() 0〜1未満の乱数 例: 0.12345
Math.max(...arr) 最大値 [3, 8, 1, 9] 9
Math.min(...arr) 最小値 [3, 8, 1, 9] 1
Math.PI 円周率 3.14159...
Math.sqrt(9) 平方根 3
Math.sin(Math.PI / 2) サイン(ラジアン) 1
Math.cos(Math.PI) コサイン(ラジアン) -1

メモ程度に書いてみました。参考になれば嬉しいです!

Discussion