AZ Tools

Avaliador de Expressões Matemáticas

Dia a dia

Calculadora segura pra expressões que você escreveria no papel: `(1 + 2) * 3.14`, `sqrt(2)`, `sin(pi / 4)`, `log10(1000)`, `2^10`. Operadores `+ - * / % ^` funcionam; funções e constantes vêm de uma lista permitida fixa mapeada pra `Math.*` — `sin/cos/tan/asin/acos/atan/atan2`, `sinh/cosh/tanh`, `sqrt/cbrt/abs/sign/floor/ceil/round/trunc`, `log/log2/log10/ln/exp/pow`, `min/max/hypot`, mais `pi/e/tau`. Identificadores fora dessa lista são rejeitados, então o input não alcança a página nem o runtime JavaScript.

Tente:

Resultado

8

Seguro por construção: identificadores devem vir da allowlist (sin, cos, tan, sqrt, log, ln, exp, pi, e, tau, min, max, hypot, …). Sem variáveis, sem string literals, sem ponto e vírgula.

Como usar

  1. Digite uma expressão — operadores, parênteses, decimais e os nomes permitidos.
  2. O resultado atualiza ao vivo; copie se precisar em outro lugar.
  3. `^` é expoente (como em matemática, não XOR bit a bit). Pra potências de variáveis use `pow(x, y)` ou `x^y`.

Perguntas frequentes

Usa `eval` por baixo?
Usa `new Function(...)`, mas só depois do input ser parseado por identificadores e matcheado contra uma allowlist (`sin`, `sqrt`, `pi`, …). Qualquer outra coisa — `document`, `window`, `fetch`, literais string, ponto e vírgula — é rejeitada antes da execução, então a expressão não tem como sair de `Math.*`.
Qual unidade angular `sin` e amigos usam?
Radianos, igual ao `Math.sin` do JavaScript. Use `pi` pra ângulos comuns — `sin(pi / 2)` é 1, `cos(pi)` é -1. Pra converter graus, multiplique por `pi / 180` antes de passar.
Por que meu cálculo enorme perde precisão?
Números JavaScript são doubles IEEE 754 — uns 15 dígitos decimais significativos. `0.1 + 0.2` dá `0.30000000000000004`. Pra maior precisão (decimais financeiros, fatoriais acima de 20!, etc.) use ferramenta ou lib dedicada de precisão arbitrária.
E variáveis ou scripts multi-linha?
Não suportado de propósito — manter a superfície pequena é o que torna seguro avaliar. Pra matemática programável, use notebook Jupyter ou calculadora desktop.

Ferramentas relacionadas