| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Guide/Numbers_and_strings#math_object | [Back] [Original] |
Get to know MDN better
Esta pgina foi traduzida do ingls pela comunidade. Saiba mais e junte-se comunidade MDN Web Docs.
Este captulo apresenta como utilizar nmeros e datas em JavaScript.
Em Javascript, todos os nmeros so implementados em double-precision 64-bit binary format IEEE 754 (Por exemplo, um nmero entre -(253 -1) e 253 -1). No havendo especificao de tipo Integer. Alm de ser capaz de representar nmeros de ponto flutuante, o tipo de nmero tem trs valores simblicos: +Infinity, -Infinity, and NaN (not-a-number). Veja tambm Estruturas e Tipos de Dados em Javascript em contexto com outros tipos primitivos em JavaScript.
Voc pode usar quatro tipos de nmeros literais: decimal, binrio, octal, e hexadecimal.
1234567890;
42;
// Cuidado quando usar zeros esquerda:
0888; // 888 interpretado como decimal
0777; // interpretado como octal em modo no-strict (511 em decimal)
Note que literais decimais podem comear com zero (0) seguido por outro digito decimal, porm se o prximo dgito depois do primeiro zero for menor do que 8, o nmero ser analisado como um nmero octal.
A sintaxe para nmeros Binrios, usa um zero esquerda seguido de uma letra minscula ou maiscula "B" (0b or 0B). Se os dgitos depois de 0b no forem 0 ou 1, a seguinte exceo SyntaxError lanada: "Missing binary digits after 0b".
var FLT_SIGNBIT = 0b10000000000000000000000000000000; // 2147483648
var FLT_EXPONENT = 0b01111111100000000000000000000000; // 2139095040
var FLT_MANTISSA = 0b00000000011111111111111111111111; // 8388607
A sintaxe dos nmeros octais usa um zero na frente. Se os dgitos depois do 0 estiverem fora do alcance 0 a 7, o nmero ser interpretado como um nmero decimal.
var n = 0755; // 493
var m = 0644; // 420
Modo estrito no ECMAScript 5 probe a sintaxe octal. A sintaxe Octal no parte do ECMAScript 5, mas suportada por todos os navegadores prefixando o nmero octal com zero: 0644 === 420 e "\045" === "%". Em ECMAScript 6 nmeros Octais so suportados prefixando o nmero com "0o" isto .
var a = 0o10; // ES6: Octal
A sintaxe numrica Hexadecimal usa um 0 na frente seguido por uma letra "X" maiscula ou minscula (0x ou 0X). Se os dgidos depois do 0x estiverem fora do alcance (0123456789ABCDF), o seguinte erro de sintaxe (SyntaxError) ocorrer: "Identifier starts immediately after numeric literal" (O identificador comea imediatamente depois do literal numrico).
0xfffffffffffffffff; // 295147905179352830000
0x123456789abcdef; // 81985529216486900
0xa; // 10
1e3; // 1000
2e6; // 2000000
0.1e2; // 10
Objeto NumberUm objeto built-in Number tem propriedades para constantes numricas, tais como valor mximo, no nmero e infinito. Voc no pode alterar os valores dessas propriedades e elas so usadas assim:
var maiorNum = Number.MAX_VALUE; //Valor mximo
var menorNum = Number.MIN_VALUE; //Valor mnimo
var infiniteNum = Number.POSITIVE_INFINITY; //Infinito positivo
var negInfiniteNum = Number.NEGATIVE_INFINITY; //Infinito negativo
var notANum = Number.NaN; //No numeral
Voc sempre se refere a uma propriedade do objeto predefinido Number como mostrado acima, e no como uma propriedade de um objeto Number que voc mesmo criou.
A tabela seguir sumariza as propriedades do objeto Number.
| Propriedade | Descrio |
|---|---|
Number.MAX_VALUE |
O maior nmero representvel. |
Number.MIN_VALUE |
O menor nmero representvel. |
Number.NaN |
Valor "not a number" especial |
Number.NEGATIVE_INFINITY |
Valor especial infinito negativo; retornado em overflow |
Number.POSITIVE_INFINITY |
Valor especial infinito positivo; retornado em overflow |
Number.EPSILON |
Diferena entre um e o menor valor maior do que um que pode ser representado como um Number. |
Number.MIN_SAFE_INTEGER |
Mnimo safe integer em JavaScript. |
Number.MAX_SAFE_INTEGER |
Mximo safe integer em JavaScript. |
| Mtodo | Descrio |
|---|---|
Number.parseFloat() |
Analisa um argumento string e retorna um nmero float. O mesmo que a funo global parseFloat(). |
Number.parseInt() |
Analisa um argumento string e retorna um inteiro da raiz ou base especificada. O mesmo que a funo globalparseInt(). |
Number.isFinite() |
Determina se o valor passado um nmero finito. |
Number.isInteger() |
Determina se o valor passado um inteiro. |
Number.isNaN() |
Determina se o valor passado NaN. A verso mais robusta da original isNaN(). |
Number.isSafeInteger() |
Determina se o valor passado um safe integer. |
O prottipo Number prov mtodos para resgatar informaes de objetos Number em vrios formatos. A tabela a seguir sumariza os mtodos de Number.prototype.
| Mtodo | Descrio |
|---|---|
toExponential() |
Retorna uma string representando o nmero em uma notao exponencial. |
toFixed() |
Retorna uma string representando o nmero em notao com ponto-fxo. |
toPrecision() |
Retorna uma string representando o nmero em uma preciso especificada na notao de ponto-fxo. |
Objeto MathO objeto Math tem propriedades e mtodos para constantes matemticas e funes. Por exemplo, o PI do objeto Math tem o valor de pi (3,141...), que voc usaria em uma aplicao como
Math.PI;
Similarmente, funes matemticas padro so mtodos do Math. Isto inclui funes trigonomtricas, logartmicas, exponenciais, e outras funes. Por exemplo, se voc quiser usar a funo trigonomtrica seno, basta escrever
Math.sin(1.56);
Note que todos os mtodos trigonomtricos pegam argumentos em radianos.
A tabela a seguir sumariza os mtodos do objeto Math.
| Mtodo | Descrio |
|---|---|
abs() |
Valor absoluto |
sin(), cos(), tan() |
Funes trigonomtricas padro; Argumentos em radianos |
asin(), acos(), atan(), atan2() |
Funes trigonomtricas inversas; retorna valores em radianos |
sinh(), cosh(), tanh() |
Funes trigonomtricas hiperblicas; retorna valores em radianos. |
asinh(), acosh(), atanh() |
Funes trigonomtricas hiperblicas inversas; retorna valores em radianos. |
pow(), exp(), expm1(), log10(), log1p(), log2() |
Funes exponenciais e logartmicas. |
floor(), ceil() |
Retorna o maior/menor inteiro que menor/maior inteiro que ou igual ao argumento. |
min(), max() |
Retorna menor ou maior (respectivamente) de uma lista separada por vrgula de argumentos numricos |
random() |
Retorna um nmero aleatrio entre 0 e 1. |
round(), fround(), trunc(), |
Funes de arredondamento e truncamento. |
sqrt(), cbrt(), hypot() |
Raiz quadrada, raiz cbica, raiz quadrada da soma de argumentos ao quadrado. |
sign() |
O sinal de um nmero, indicando se o nmero positivo, negativo ou zero. |
clz32(), imul() |
Nmero de zeros esquerda na representao binria de 32-bits. The result of the C-like 32-bit multiplication of the two arguments. |
Diferentemente de muitos outros objetos, voc nunca cria um objeto Math por conta prpria. Voc sempre deve utilizar o objeto Math nativo.
Objeto DateJavaScript no possui dados do tipo data. No entanto, voc pode usar o objeto Date e seus mtodos para trabalhar com datas e horas nas suas aplicaes. O objeto Date tem um grande nmero de mtodos para setar, recuperar e manipular datas. Ele no tem nenhuma propriedade.
JavaScript manipula datas de maneira semelhante ao Java. As duas linguagens tem muitos dos mesmos mtodos para lidar com datas e ambas armazenam datas como nmeros em milisegundos, desde 1 de janeiro de 1970, s 00:00:00 ( January 1, 1970, 00:00:00).
A abrangncia do objeto Date de -100,000,000 dias at 100,000,000 dias relativos a 01 de janeiro de 1970 UTC.
Para criar um objeto Date:
var dateObjectName = new Date([parameters]);
onde dateObjectName o nome do objeto Date que est sendo criado; ele pode ser um novo objeto ou uma propriedade de um objeto existente.
A chamada de Date sem a palavra reservada new, simplesmente converte a data para uma representao dela como string.
Os parmetros do cdigo acima podem ser qualquer um a seguir:
today = new Date();.Xmas95 = new Date("25 de dezembro de 1995, 13:30:00"). Se voc omitir as horas, minutos ou segundos, o valor ser setado para zero.var Xmas95 = new Date(1995, 11, 25).var Xmas95 = new Date(1995, 11, 25, 9, 30, 0);.Os mtodos do objeto Date para manipular data e hora pertencem s seguintes categorias:
Com os mtods "get" e "set", voc pode recuperar e setar segundos, minutos, horas, dia e ms, dia da semana, meses e anos, separadamente. Existe um mtodo getDay que retorna o dia da semana, mas no existe um mtodo setDay correspondente, porque o dia da semana setado automaticamente. Estes mtodos utilizam nmeros inteiros para representar estes valores da seguinte maneira:
Por exemplo, suponha que voc queira definir a seguinite data:
var Xmas95 = new Date("December 25, 1995");
Ento Xmas95.getMonth() retorna 11 e Xmas95.getFullYear() retorna 1995.
Os mtodos getTime e setTime so teis para comparar datas. O mtodo getTime retorna o nmero dos milisegundos desde 1 de janeiro de 1970, s 00:00:00 para um objeto Date.
Por exemplo, o cdigo a seguir mostra os nmeros dos dias que ainda faltam do ano vigente:
var hoje = new Date();
var fimAno = new Date(1995, 11, 31, 23, 59, 59, 999); // Seta dia e ms
fimAno.setFullYear(hoje.getFullYear()); // Seta o ano para esse ano
var msPorDia = 24 * 60 * 60 * 1000; // Quantidade de milisegundos por dia
var diasRestantes = (fimAno.getTime() - hoje.getTime()) / msPorDia;
var diasRestantes = Math.round(diasRestantes); //retorna os dias restantes no ano
Este exemplo cria um objeto Date chamado hoje que contm a data de hoje. Ele, ento, cria o objeto Date chamado fimAnoe seta o ano para o ano vigente. Ento, usando o nmero de milisegundos por dia, ele computa o nmero de dias entre hoje e fimAno, usando getTime e arredondando os nmeros de dias.
O mtodo parse til para associar valores de strings de data para objetos Date existentes. Por exemplo, o cdigo a seguir usa parse e setTime para associar um valor de data ao objeto IPOdate:
var IPOdate = new Date();
IPOdate.setTime(Date.parse("Aug 9, 1995"));
No exemplo a seguir, a funo JSClock() retorna o tempo no formato de um relgio digital.
function JSClock() {
var tempo = new Date();
var hora = tempo.getHours();
var minuto = tempo.getMinutes();
var segundo = tempo.getSeconds();
var temp = "" + (hora > 12 ? hora - 12 : hora);
if (hora == 0) temp = "12";
temp += (minuto < 10 ? ":0" : ":") + minuto;
temp += (segundo < 10 ? ":0" : ":") + segundo;
temp += hora >= 12 ? " P.M." : " A.M.";
return temp;
}
A funo JSClock primeiro cria um objeto new Date chamado tempo; j que nenhum argumento passado, tempo criado com data e hora atuais. Ela ento chama os mtodos getHours, getMinutes e getSeconds e associa o valor hora, minuto e segundo atuais hora, minuto e segundo.
As prximas quatro declaraes constroem uma string baseada em time. A primeira declarao cria uma varivel temp, associando um valor utilizando uma expresso condicional; se hora maior que 12, (hora - 12), seno simplesmente hora, a no ser que hora seja 0 que, nesse caso, ser 12.
A prxima declarao anexa um valor minuto a temp. Se o valor de minuto for menos que 10, a expresso condicional acrescenta uma string com um 0 na frente; seno ela acrescenta uma string com dois pontos. Ento a declarao anexa um valor segundo a temp do mesmo jeito.
Finalmente, a expresso condicional anexa "P.M." a temp se hora for 12 ou maior; seno ela anexa "A.M." a temp.
This page was last modified on 22 de mai. de 2026 by MDN contributors.
Your blueprint for a better internet.
Portions of this content are 19982026 by individual mozilla.org contributors. Content available under a Creative Commons license.
| Web Proxy Viewer | New URL | Original Page |