Objeto matemático JavaScript


Índice

    Mostrar índice

O objeto JavaScript Math permite que você execute tarefas matemáticas em números.

Exemplo

Math.PI;

Experimente você mesmo →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript Math.PI</h2>

<p>Math.PI returns the ratio of a circle's circumference to its diameter:</p>

<p id="demo"></p>

<script>
document.getElementById("demo").innerHTML = Math.PI;
</script>

</body>
</html>

O objeto matemático

Ao contrário de outros objetos, o objeto Math não possui construtor.

O objeto Math é estático.

Todos os métodos e propriedades podem ser usados sem criar primeiro um objeto Math.


Propriedades matemáticas (constantes)

A sintaxe para qualquer propriedade Math é: Math.property.

JavaScript fornece 8 constantes matemáticas que podem ser acessadas como propriedades matemáticas:

Exemplo

Math.E        // returns Euler's number
Math.PI       // returns PI
Math.SQRT2    // returns the square root of 2
Math.SQRT1_2  // returns the square root of 1/2
Math.LN2      // returns the natural logarithm of 2
Math.LN10     // returns the natural logarithm of 10
Math.LOG2E    // returns base 2 logarithm of E
Math.LOG10E   // returns base 10 logarithm of E

Experimente você mesmo →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript Math Constants</h2>

<p id="demo"></p>

<script>
document.getElementById("demo").innerHTML = 
"<p><b>Math.E:</b> " + Math.E + "</p>" +
"<p><b>Math.PI:</b> " + Math.PI + "</p>" +
"<p><b>Math.SQRT2:</b> " + Math.SQRT2 + "</p>" +
"<p><b>Math.SQRT1_2:</b> " + Math.SQRT1_2 + "</p>" +
"<p><b>Math.LN2:</b> " + Math.LN2 + "</p>" +
"<p><b>Math.LN10:</b> " + Math.LN10 + "</p>" +
"<p><b>Math.LOG2E:</b> " + Math.LOG2E + "</p>" +
"<p><b>Math.Log10E:</b> " + Math.LOG10E + "</p>";
</script>

</body>
</html>

Métodos matemáticos

A sintaxe para qualquer método Math é: Math.method(number)


Número para inteiro

Existem 4 métodos comuns para arredondar um número para um inteiro:

Math.round(x)

Retorna x arredondado para o número inteiro mais próximo

Math.ceil(x)

Retorna x arredondado para o número inteiro mais próximo

Math.floor(x)

Retorna x arredondado para o número inteiro mais próximo

Math.trunc(x)

Retorna a parte inteira de x (novo no ES6)


Math.round()

Math.round(x) retorna o número inteiro mais próximo:

Exemplos

Math.round(4.6);

Experimente você mesmo →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript Math.round()</h2>

<p>Math.round(x) returns the value of x rounded to its nearest integer:</p>

<p id="demo"></p>

<script>
document.getElementById("demo").innerHTML = Math.round(4.6);
</script>

</body>
</html>
Math.round(4.5);

Experimente você mesmo →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript Math.round()</h2>

<p>Math.round(x) returns the value of x rounded to its nearest integer:</p>

<p id="demo"></p>

<script>
document.getElementById("demo").innerHTML = Math.round(4.5);
</script>

</body>
</html>
Math.round(4.4);

Experimente você mesmo →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript Math.round()</h2>

<p>Math.round(x) returns the value of x rounded to its nearest integer:</p>

<p id="demo"></p>

<script>
document.getElementById("demo").innerHTML = Math.round(4.4);
</script>

</body>
</html>

Math.ceil()

Math.ceil(x) retorna o valor de x arredondado para cima para o número inteiro mais próximo:

Exemplo

Math.ceil(4.9);
Math.ceil(4.7);
Math.ceil(4.4);
Math.ceil(4.2);
Math.ceil(-4.2);

Experimente você mesmo →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript Math.ceil()</h2>

<p>Math.ceil() rounds a number <strong>up</strong> to its nearest integer:</p>

<p id="demo"></p>

<script>
document.getElementById("demo").innerHTML = Math.ceil(4.4);
</script>

</body>
</html>

Math.floor()

Math.floor(x) retorna o valor de x arredondado para baixo para o número inteiro mais próximo:

Exemplo

Math.floor(4.9);
Math.floor(4.7);
Math.floor(4.4);
Math.floor(4.2);
Math.floor(-4.2);

Experimente você mesmo →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript Math.floor()</h2>

<p>Math.floor(x) returns the value of x rounded <strong>down</strong> to its nearest integer:</p>

<p id="demo"></p>

<script>
document.getElementById("demo").innerHTML = Math.floor(4.7);
</script>

</body>
</html>

Math.trunc()

Math.trunc(x) retorna a parte inteira de x:

Exemplo

Math.trunc(4.9);
Math.trunc(4.7);
Math.trunc(4.4);
Math.trunc(4.2);
Math.trunc(-4.2);

Experimente você mesmo →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript Math.trunc()</h2>

<p>Math.trunc(x) returns the integer part of x:</p>

<p id="demo"></p>

<script>
document.getElementById("demo").innerHTML = Math.trunc(4.7);
</script>

</body>
</html>

Math.sign()

Math.sign(x) retorna se x for negativo, nulo ou positivo:

Exemplo

Math.sign(-4);
Math.sign(0);
Math.sign(4);

Experimente você mesmo →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript Math.sign()</h2>

<p>Math.sign(x) returns if x is negative, null or positive:</p>

<p id="demo"></p>

<script>
document.getElementById("demo").innerHTML = Math.sign(4);
</script>

</body>
</html>

Math.trunc() e Math.sign() foram adicionados ao JavaScript 2015 - ES6.



Math.pow()

Math.pow(x, y) retorna o valor de x elevado à potência de y:

Exemplo

Math.pow(8, 2);

Experimente você mesmo →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript Math.pow()</h2>

<p>Math.pow(x,y) returns the value of x to the power of y:</p>

<p id="demo"></p>

<script>
document.getElementById("demo").innerHTML = Math.pow(8,2);
</script>

</body>
</html>

Math.sqrt()

Math.sqrt(x) retorna a raiz quadrada de x:

Exemplo

Math.sqrt(64);

Experimente você mesmo →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript Math.sqrt()</h2>

<p>Math.sqrt(x) returns the square root of x:</p>

<p id="demo"></p>

<script>
document.getElementById("demo").innerHTML = Math.sqrt(64);
</script>

</body>
</html>

Math.abs()

Math.abs(x) retorna o valor absoluto (positivo) de x:

Exemplo

Math.abs(-4.7);

Experimente você mesmo →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript Math.abs()</h2>

<p>Math.abs(x) returns the absolute (positive) value of x:</p>

<p id="demo"></p>

<script>
document.getElementById("demo").innerHTML = Math.abs(-4.7);
</script>

</body>
</html>

Math.sin()

Math.sin(x) retorna o seno (um valor entre -1 e 1) do ângulo x (dado em radianos).

Se você quiser usar graus em vez de radianos, será necessário converter graus em radianos:

Ângulo em radianos=Ângulo em graus x PI/180.

Exemplo

Math.sin(90 * Math.PI / 180);     // returns 1 (the sine of 90 degrees)

Experimente você mesmo →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript Math.sin()</h2>

<p>Math.sin(x) returns the sin of x (given in radians):</p>
<p>Angle in radians = (angle in degrees) * PI / 180.</p>

<p id="demo"></p>

<script>
document.getElementById("demo").innerHTML = 
"The sine value of 90 degrees is " + Math.sin(90 * Math.PI / 180);
</script>

</body>
</html>

Math.cos()

Math.cos(x) retorna o cosseno (um valor entre -1 e 1) do ângulo x (dado em radianos).

Se você quiser usar graus em vez de radianos, será necessário converter graus em radianos:

Ângulo em radianos=Ângulo em graus x PI/180.

Exemplo

Math.cos(0 * Math.PI / 180);     // returns 1 (the cos of 0 degrees)

Experimente você mesmo →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript Math.cos()</h2>

<p>Math.cos(x) returns the cosine of x (given in radians):</p>
<p>Angle in radians = (angle in degrees) * PI / 180.</p>

<p id="demo"></p>

<script>
document.getElementById("demo").innerHTML = 
"The cosine value of 0 degrees is " + Math.cos(0 * Math.PI / 180);
</script>

</body>
</html>

Math.min() / Math.max()

Math.min() e Math.max() podem ser usados para encontrar o valor mais baixo ou mais alto em uma lista de argumentos:

Exemplo

Math.min(0, 150, 30, 20, -8, -200);

Experimente você mesmo →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript Math.min()</h2>

<p>Math.min() returns the lowest value in a list of arguments:</p>

<p id="demo"></p>

<script>
document.getElementById("demo").innerHTML =
Math.min(0, 150, 30, 20, -8, -200);
</script>

</body>
</html>

Exemplo

Math.max(0, 150, 30, 20, -8, -200);

Experimente você mesmo →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript Math.max()</h2>

<p>Math.max() returns the highest value in a list of arguments.</p>

<p id="demo"></p>

<script>
document.getElementById("demo").innerHTML =
Math.max(0, 150, 30, 20, -8, -200);
</script>

</body>
</html>

Math.random()

Math.random() retorna um número aleatório entre 0 (inclusive) e 1 (exclusivo):

Exemplo

Math.random();

Experimente você mesmo →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript Math.random()</h2>

<p>Math.random() returns a random number between 0 and 1:</p>

<p id="demo"></p>

<p>Tip: Click on "Run" several times.</p>

<script>
document.getElementById("demo").innerHTML = Math.random();
</script>

</body>
</html>

Você aprenderá mais sobre Math.random() no próximo capítulo deste tutorial.


O método Math.log()

Math.log(x) retorna o logaritmo natural de x.

O logaritmo natural retorna o tempo necessário para atingir um determinado nível de crescimento:

Exemplos

Math.log(1);

Experimente você mesmo →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript Math.log()</h2>

<p>Math.log() returns the natural logarithm of a number:</p>

<p id="demo"></p>

<script>
document.getElementById("demo").innerHTML = Math.log(1);
</script>

</body>
</html>
Math.log(2);

Experimente você mesmo →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript Math.log()</h2>

<p>Math.log() returns the natural logarithm of a number:</p>

<p id="demo"></p>

<script>
document.getElementById("demo").innerHTML = Math.log(2);
</script>

</body>
</html>
Math.log(3);

Experimente você mesmo →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript Math.log()</h2>

<p>Math.log() returns the natural logarithm of a number:</p>

<p id="demo"></p>

<script>
document.getElementById("demo").innerHTML = Math.log(3);
</script>

</body>
</html>

Math.E e Math.log() são gêmeos.

Quantas vezes devemos multiplicar Math.E para obter 10?

Math.log(10);

Experimente você mesmo →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript Math.log()</h2>

<p>How many times must we multiply Math.E to get 10?</p>

<p id="demo"></p>

<script>
document.getElementById("demo").innerHTML = Math.log(10);
</script>

</body>
</html>

O método Math.log2()

Math.log2(x) retorna o logaritmo de base 2 de x.

Quantas vezes devemos multiplicar 2 para obter 8?

Math.log2(8);

Experimente você mesmo →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript Math.log2()</h2>

<p>Math.log2() returns the base 2 logarithm of a number.</p>
<p>How many times must we multiply 2 to get 8?</p>

<p id="demo"></p>

<script>
document.getElementById("demo").innerHTML = Math.log2(8);
</script>

</body>
</html>

O método Math.log10()

Math.log10(x) retorna o logaritmo de base 10 de x.

Quantas vezes devemos multiplicar 10 para obter 1000?

Math.log10(1000);

Experimente você mesmo →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript Math.log10()</h2>

<p>Math.log10() returns the base 10 logarithm of a number.</p>
<p>How many times must we multiply 10 to get 1000?</p>

<p id="demo"></p>

<script>
document.getElementById("demo").innerHTML = Math.log10(1000);
</script>

</body>
</html>

Métodos matemáticos JavaScript

abs(x)

Retorna o valor absoluto de x

acos(x)

Retorna o arco cosseno de x, em radianos

acosh(x)

Retorna o arco cosseno hiperbólico de x

asin(x)

Retorna o arco seno de x, em radianos

asinh(x)

Retorna o arco seno hiperbólico de x

atan(x)

Retorna o arco tangente de x como um valor numérico entre -PI/2 e PI/2 radianos

atan2(y, x)

Retorna o arco tangente do quociente de seus argumentos

atanh(x)

Retorna o arco tangente hiperbólico de x

cbrt(x)

Retorna a raiz cúbica de x

ceil(x)

Retorna x, arredondado para cima, para o número inteiro mais próximo

cos(x)

Retorna o cosseno de x (x está em radianos)

cosh(x)

Retorna o cosseno hiperbólico de x

exp(x)

Retorna o valor de Ex

floor(x)

Retorna x, arredondado para baixo para o número inteiro mais próximo

log(x)

Retorna o logaritmo natural (base E) de x

max(x, y, z, ..., n)

Retorna o número com o maior valor

min(x, y, z, ..., n)

Retorna o número com o menor valor

pow(x, y)

Retorna o valor de x elevado à potência de y

random()

Retorna um número aleatório entre 0 e 1

round(x)

Arredonda x para o número inteiro mais próximo

sign(x)

Retorna se x for negativo, nulo ou positivo (-1, 0, 1)

sin(x)

Retorna o seno de x (x está em radianos)

sinh(x)

Retorna o seno hiperbólico de x

sqrt(x)

Retorna a raiz quadrada de x

tan(x)

Retorna a tangente de um ângulo

tanh(x)

Retorna a tangente hiperbólica de um número

trunc(x)

Retorna a parte inteira de um número (x)

Referência matemática completa

Para uma referência completa, vá para nossa Referência Completa de Objetos Matemáticos.

A referência contém descrições e exemplos de todas as propriedades e métodos do Math.