数学関数(Math)

[up] [prev] [next]

一覧

abs(), acos(), acosh(), asin(), asinh(), atan(), atan2(), atanh(), cbrt(), ceil(), clz32(), cos(), cosh(), E, exp(), expm1(), floor(), fround(), hypot(), imul(), LN10, LN2, log(), log10(), LOG10E, log1p(), log2(), LOG2E, Math, max(), min(), PI, pow(), random(), round(), sign(), sin(), sinh(), sqrt(), SQRT1_2, SQRT2, tan() tanh() trunc()

数学関数

◆ Math

数学関連のメソッドやプロパティを実装するオブジェクトです。

乱数

◆ Math.random()

0.0 以上、1.0 未満の乱数を生成します。例えば次のようにして、0~15 の整数値の乱数を生成することができます。

JavaScript
xx = Math.floor(Math.random() * 16);    // => 0~15

繰り上げ・繰り下げ・絶対値

◆ Math.abs(n)

n の絶対値を返します。

JavaScript
Math.abs(-8)             // => 8
◆ Math.ceil(n)
◆ Math.floor(n)
◆ Math.round(n)

ceil() は n の小数点以下を繰り上げた整数値を返します。3.6 は 4 に、-3.6 は -3 になります。floor() は繰り下げた整数値を返します。3.6 は 3 に、-3.6 は -4 になります。round() は四捨五入した整数値を返します。3.6 は 4 に、-3.6 は -4 になります。

JavaScript
Math.ceil(3.6)           // => 4
Math.floor(3.6)          // => 3
Math.round(3.6)          // => 4
◆ Math.trunc(n)

n の小数部を取り除いた値を返します。n が正の時は floor() と同様、負の時は ceil() と同様となります。IE11 ではサポートされていません。

JavaScript
Math.trunc(3.6)          // => 3
Math.trunc(-3.6)         // => -3

三角関数

◆ Math.PI

円周率パイ(π)(約3.141592)を返します。

JavaScript
Math.PI                  // => 3.141592653589793
◆ Math.sin(x)
◆ Math.cos(x)
◆ Math.tan(x)

x のサイン(正弦)(-1~1)、コサイン(余弦)(-1~1)、タンジェント(正接)(-∞~∞) を返します。x はラジアン単位(0度は0、90度はPI/2、180度はPI)で指定します。

JavaScript
r = 10.0;  // 半径
a = 30.0;  // 角度(度)
x = r * Math.cos(a / 180 * Math.PI);  // X座標
y = r * Math.sin(a / 180 * Math.PI);  // Y座標
◆ Math.asin(x)
◆ Math.acos(x)
◆ Math.atan(x)

x のアークサイン(逆正弦)(-PI/2~PI/2)、アークコサイン(逆余弦)(0~PI)、アークタンジェント(逆正接)(-PI/2~PI/2) を返します。

JavaScript
Math.asin(1)             // => 1.5707963267948966 (PI/2)
Math.acos(0)             // => 1.5707963267948966 (PI/2)
Math.atan(Infinity)      // => 1.5707963267948966 (PI/2)
◆ Math.sinh(x)
◆ Math.cosh(x)
◆ Math.tanh(x)

x のハイパーボリックサイン、ハイパーボリックコサイン、ハイパーボリックタンジェントを返します。IE11 ではサポートされていません。

JavaScript
Math.sinh(1)             // => 1.1752011936438014
Math.cosh(1)             // => 1.5430806348152437
Math.tanh(1)             // => 0.7615941559557649
◆ Math.asinh(x)
◆ Math.acosh(x)
◆ Math.atanh(x)

x のハイパーボリックアークサイン、ハイパーボリックアークコサイン、ハイパーボリックアークタンジェントを返します。IE11 ではサポートされていません。

JavaScript
Math.asinh(1)            // => 0.881373587019543
Math.acosh(2)            // => 1.3169578969248166
Math.atanh(0.5)          // => 0.5493061443340548
◆ Math.atan2(y, x)

座標 x, y の角度(-PI~PI)を返します。

JavaScript
Math.atan2(1, 1)         // => 0.7853981633974483 (PI/4)

その他

◆ Math.max(value1, value2, ...)
◆ Math.min(value1, valule2, ...)

max() は value1, value2, ... の中から一番大きな値、min() は一番小さな値を返します。

JavaScript
Math.max(3, 5, 2)        // => 5
Math.min(3, 5, 2)        // => 2
◆ Math.pow(n, m)

nm 乗を返します。

JavaScript
Math.pow(2, 8)           // => 256
◆ Math.sqrt(n)

n の平方根を返します。

JavaScript
Math.sqrt(2)             // => 1.4142135623730951
◆ Math.cbrt(n)

n の立方根を返します。IE11 ではサポートされていません。

JavaScript
Math.cbrt(2)             // => 1.2599210498948732
◆ Math.SQRT2
◆ Math.SQRT1_2

SQRT2 は 2 の平方根、SQRT1_2 は 1/2 の平方根を返します。

JavaScript
Math.SQRT2               // => 1.4142135623730951
Math.SQRT1_2             // => 0.7071067811865476
◆ Math.LN2
◆ Math.LN10
◆ Math.LOG2E
◆ Math.LOG10E

LN2 は e を底とした2の対数、LN10 は e を底とした10の対数、LOG2E は 2 を底とした e の対数、LOG10E は 10 を底とした e の対数を返します。

JavaScript
Math.LN2                 // => 0.6931471805599453
Math.LN10                // => 2.302585092994046
Math.LOG2E               // => 1.4426950408889634
Math.LOG10E              // => 0.4342944819032518
◆ Math.E

自然対数 e の値を返します。

JavaScript
Math.E                   // => 2.718281828459045
◆ Math.exp(n)
◆ Math.expm1(n)

exp() は e の n乗を、expm1() は e の n乗 - 1 を返します。expm1() は IE11 ではサポートされていません。

JavaScript
Math.exp(1)              // => 2.718281828459045
Math.expm1(1)            // => 1.718281828459045
◆ Math.log(n)
◆ Math.log2(n)
◆ Math.log10(n)
◆ Math.log1p(n)

log() は e を底とした n の対数、log2() は 2 を底とした n の対数、log10() は 10 を底とした n の対数、log1p() は e を底とした n + 1 の対数を返します。IE11 では log() のみをサポートしています。

JavaScript
Math.log(10)             // => 2.302585092994046
Math.log2(8)             // => 3
Math.log10(10)           // => 1
Math.log1p(9)            // => 2.302585092994046
◆ Math.clz32(n)

CountLeadingZeroes32 の略で、32ビットバイナリ表現における先頭の 0 の個数を返します。IE11 ではサポートされていません。

JavaScript
Math.clz32(0)            // => 32
Math.clz32(1)            // => 31
Math.clz32(0xffff)       // => 16
◆ Math.fround(x)

x に最も近い、単精度の float を返します。IE11 ではサポートされていません。

JavaScript
Math.fround(1.23)        // => 1.2300000190734863
◆ Math.hypot(value1, value2, ...)

value1, value2, ... の二乗和の平方根を返します。IE11 ではサポートされていません。

JavaScript
Math.hypot(.12, -.13, -.14, .15)        // => 0.2709243436828813
◆ Math.imul(x, y)

C言語と同様の高速アルゴリズムで計算した xy の乗算を返します。IE11 ではサポートされていません。

JavaScript
Math.imul(0xff, 16)      // => 4080 (0xff0)
◆ Math.sign(x)

x が正の時は 1、0 の時は 0、負の時は -1 を返します。IE11 ではサポートされていません。

JavaScript
Math.sign(-2)            // => -1
Math.sign(0)             // => 0
Math.sign(2)             // => 1

[up] [prev] [next]
Copyright (C) 1996-2019 杜甫々
改訂版初版:2006年7月17日、最終更新:2019年3月3日
http://www.tohoho-web.com/js/math.htm