O Objeto Math é um objeto intrínseco do sistema JavaScript. Ele não deve ser criado explicitamente pelo programador porque é o próprio sistema que o cria automaticamente ao arrancar. Podemos fazer uso de um objeto próprio para cálculos matemáticos chamado Math que possui constantes, métodos para calcular potências, raízes, arredondamentos, funções trigonométricas, maneiras de encontrar o menor e o maior valor, além de um gerador de números randômicos.
Propriedades do objeto Math
E - Contém a base dos logaritmos naturais (número de Euler)
LN2 - Contém o logaritmo natural de 2 (base E)
LN10 - Contém o logaritmo natural de 10 (base E)
LOG2E - Contém o logaritmo de E na base 2
LOG10E - Contém o logaritmo de E na base 10
PI - Contém o número PI (3.1415927...)
SQRT1_2 - Contém 1 a dividir pela raiz quadrada de 2
SQRT2 - Contém a raiz quadrada de 2
Métodos do objeto Math
Todos os métodos do objeto Math aceitam um, dois ou nenhum números como argumentos e devolvem um número como resultado.
abs(x) - Devolve o valor absoluto de x
acos(x) - Devolve o valor do arco (radianos) cujo cosseno é x
asin(x) - Devolve o valor do arco (radianos) cujo seno é x
atan(x) - Devolve o valor do arco (radianos) cuja tangente é x
atan2(x, y) - Devolve o valor do ângulo formado pelo eixo dos xx com a linha que une a origem dos eixos ao ponto de coordenadas (x, y)
ceil(x) - Devolve o número inteiro mais próximo de x e não inferior a x
cos(x) - Devolve o cosseno de x
exp(x) - Devolve o valor da exponencial de x (E elevado à potência x)
floor(x) - Devolve o número inteiro mais próximo de x e não superior a x
log(x) - Devolve o logaritmo natural de x
max(x,y) - Devolve o maior dos números (x, y)
min(x,y) - Devolve o menor dos números (x, y)
pow(x,y) - Devolve o valor x elevado à potência y
random() - Devolve um número aleatório situado entre 0 e 1 (não aceita argumentos)
round(x) - Devolve o número inteiro mais próximo de x
sin(x) - Devolve o seno de x
sqrt(x) - Devolve a raiz quadrada de x
tan(x) - Devolve a tangente de x
Exemplos de Aplicação
Ler os valores das constantes pré-definidas (propriedades)
<html>
<head>
<title></title>
</head>
<body style="font-family:verdana">
<p>
Estas são as constantes que podemos obter como propriedades do
objeto Math:
</p>
<script type="text/javascript">
<!--
document.write("Math.E = "+Math.E+"<br>")
document.write("Math.LN2 = "+Math.LN2+"<br>")
document.write("Math.LN10 = "+Math.LN10+"<br>")
document.write("Math.LOG2E = "+Math.LOG2E+"<br>")
document.write("Math.LOG10E = "+Math.LOG10E+"<br>")
document.write("Math.PI = "+Math.PI+"<br>")
document.write("Math.SQRT1_2 = "+Math.SQRT1_2+"<br>")
document.write("Math.SQRT2 = "+Math.SQRT2+"<br>")
// -->
</script>
</body>
</html>
Arredondar um número para o valor inteiro mais próximo (método round() )
<html>
<head>
<title></title>
</head>
<body>
O valor de 69.25 arredondado para as unidades é
<script type="text/javascript">
<!--
document.write(Math.round(69.25))
// -->
</script>
</body>
</html>
Números aleatórios distribuídos entre 0 e 1(método random() )
<html>
<head>
<title></title>
</head>
<body>
<p>
A cada atualização da página obtém-se um número diferente
</p>
<script type="text/javascript">
<!--
document.write(Math.random())
// -->
</script>
</body>
</html>
Gerar números aleatórios inteiros distribuídos entre 0 e 10
<html>
<head>
<title></title>
</head>
<body>
<p>
A cada atualização da página obtém-se um número diferente
</p>
<script type="text/javascript">
<!--
no=Math.random()*10
document.write(Math.floor(no))
// -->
</script>
</body>
</html>
Escolher o maior de dois números (método max() )
<html>
<head>
<title></title>
</head>
<body>
O maior dos números (12, 7) é
<script type="text/javascript">
<!--
document.write(Math.max(12,7))
// -->
</script>
</body>
</html>
Escolher o menor de dois números (método min() )
<html>
<head>
<title></title>
</head>
<body>
O menor dos números (12, 7) é
<script type="text/javascript">
<!--
document.write(Math.min(12,7))
// -->
</script>
</body>
</html>
Converter temperaturas de graus Celsius para Fahrenheit e vice versa (Veja este artigo também)
<html>
<head>
<script type="text/javascript">
<!--
function celsius_para_Fahrenheit()
{
var F=parseInt(document.getElementById("celsius").value)*9/5+32
document.getElementById("fahrenheit").value=Math.round(F)
}
function fahrenheit_para_Celsius()
{
var C=(parseInt(document.getElementById("fahrenheit").value) - 32)*5/9
document.getElementById("celsius").value=Math.round(C)
}
// -->
</script>
<title></title>
</head>
<body>
<p>
Escreva em qualquer um dos campos de inserção de texto.
Depois de fazer entrar com um valor numérico num dos campos
pressione a tecla "Enter" para que ele seja convertido
para as unidades do outro campo.
</p>
<table>
<tr>
<td>
<form action="javascript:celsius_para_Fahrenheit()">
<input id="celsius" size="3"> graus Celsius equivalem a
</form>
</td>
<td width="20"> </td>
<td>
<form action="javascript:fahrenheit_para_Celsius()">
<input id="fahrenheit" size="3"> graus Fahrenheit
</form>
</td>
</tr>
</table>
<p>
A utilização do método Math.round() é necessária
porque queremos valores inteiros para as temperaturas.
</p>
</body>
</html>
Aff! Dá para imaginar o tempo que levei preparando este mega arttigo, mas vale a pena aprofundar um pouco mais quande se refere a Objetos como vimos nos artigos sobre Objeto Array e Objeto Date, se quer saber mais sobre o Objeto Math recomendo um site muito bom para quem quer aprender a programar, o site é TI Expert.net, este link te leva a uma página onde poderá aprender Raízes e Potências, Arredondamentos como já vimos aqui, Trigonometria, Maior e Menor e Número Randômico.
Até a proxima!