UNPKG

@designliquido/delegua

Version:

Linguagem de programação simples e moderna usando português estruturado.

139 lines 6.32 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const informacao_elemento_sintatico_1 = require("../../../informacao-elemento-sintatico"); exports.default = { absoluto: { tipoRetorno: 'número', argumentos: [], implementacao: (interpretador, valor) => { return Promise.resolve(Math.abs(valor)); }, assinaturaFormato: 'número.absoluto()', documentacao: '# `número.absoluto()`\n\n' + 'Retorna a versão absoluta de um número, ou seja, seu valor sem sinal.' + '\n\n ## Exemplo de Código\n' + '\n\n```pitugues\n' + 'var n = -5\n' + 'escreva(n.absoluto()) // 5\n```' + '\n\n## Formas de uso\n', exemploCodigo: 'numero.absoluto()', }, arredondar: { tipoRetorno: 'numero', argumentos: [ new informacao_elemento_sintatico_1.InformacaoElementoSintatico('casasDecimais', 'numero', false, [], 'Número de casas decimais que o número deve ser arredondado.'), ], implementacao: (interpretador, valor, casasDecimais) => { if (casasDecimais !== undefined && casasDecimais !== null) { return Promise.resolve(parseFloat(valor.toFixed(casasDecimais))); } return Promise.resolve(Math.round(valor)); }, assinaturaFormato: 'número.arredondar(casas_decimais)', documentacao: '# `número.arredondar()`\n\n' + 'Retorna o número arredondado para o número inteiro mais próximo. Adiciona casas decimais caso o valor seja passado como parâmetro.' + '\n\n ## Exemplo de Código\n' + '\n\n```pitugues\n' + 'n = 2.4\n' + 'escreva(n.arredondar()) // 2\n```' + 'x = 2.468\n' + 'escreva(x.arredondar(2)) // 2.47\n```' + '\n\n## Formas de uso\n', exemploCodigo: 'numero.arredondar()', }, arredondar_para_baixo: { tipoRetorno: 'número', argumentos: [], implementacao: (interpretador, valor) => { return Promise.resolve(Math.floor(valor)); }, assinaturaFormato: 'número.arredondar_para_baixo()', documentacao: '# `número.arredondar_para_baixo()`\n\n' + 'Retira as partes decimais de um número com partes decimais e retorna sua parte inteira. Se o número já é inteiro, devolve apenas o próprio número.' + '\n\n ## Exemplo de Código\n' + '\n\n```pitugues\n' + 'n = 2.5\n' + 'escreva(n.arredondar_para_baixo()) // 2\n```' + '\n\n## Formas de uso\n', exemploCodigo: 'numero.arredondar_para_baixo()', }, arredondar_para_cima: { tipoRetorno: 'número', argumentos: [], implementacao: (interpretador, valor) => { return Promise.resolve(Math.ceil(valor)); }, assinaturaFormato: 'número.arredondar_para_cima()', documentacao: '# `número.arredondar_para_cima()`\n\n' + 'Arredonda um número com partes decimais para cima, ou seja, para o próximo número inteiro.' + '\n\n ## Exemplo de Código\n' + '\n\n```pitugues\n' + 'n = 2.5\n' + 'escreva(n.arredondar_para_cima()) // 3\n```' + '\n\n## Formas de uso\n', exemploCodigo: 'numero.arredondar_para_cima()', }, formatar: { tipoRetorno: 'texto', argumentos: [ new informacao_elemento_sintatico_1.InformacaoElementoSintatico('opcoesFormatacao', 'dicionário', false, [], 'Dicionário com opções de formatação, como número de casas decimais.'), ], implementacao: (interpretador, valor, opcoes) => { let minimoCasasDecimais = 2; if (opcoes && opcoes.casasDecimais !== undefined) { minimoCasasDecimais = opcoes.casasDecimais; } let maximoCasasDecimais = 2; if (opcoes && opcoes.maximoCasasDecimais !== undefined) { maximoCasasDecimais = opcoes.maximoCasasDecimais; } return Promise.resolve(valor.toLocaleString('pt-BR', { minimumFractionDigits: minimoCasasDecimais, maximumFractionDigits: maximoCasasDecimais, })); }, assinaturaFormato: 'número.formatar(opcoesFormatacao)', documentacao: '# `número.formatar(opcoesFormatacao)`\n\n' + 'Formata um número para o padrão brasileiro, com separador de milhar e vírgula como separador decimal.' + '\n\n ## Exemplo de Código\n' + '\n\n```pitugues\n' + 'n = 1234.56\n' + 'escreva(n.formatar()) // 1.234,56\n' + 'escreva(n.formatar({ minimoCasasDecimais: 2, maximoCasasDecimais: 3 })) // 1.234,568\n```' + '\n\n## Formas de uso\n', exemploCodigo: 'numero.formatar({ maximoCasasDecimais: 2 })', }, raiz_quadrada: { tipoRetorno: 'numero', argumentos: [], implementacao: (interpretador, valor) => { return Promise.resolve(Math.sqrt(valor)); }, assinaturaFormato: 'numero.raiz_quadrada()', documentacao: '# `numero.raiz_quadrada()`\n\n' + 'Calcula e retorna a raiz quadrada de um número.' + '\n\n ## Exemplo de Código\n' + '\n\n```pitugues\n' + 'n = 25\n' + 'escreva(n.raiz_quadrada()) // 5\n```' + '\n\n## Formas de uso\n', exemploCodigo: 'numero.raiz_quadrada()', }, truncar: { tipoRetorno: 'numero', argumentos: [], implementacao: (interpretador, valor) => { return Promise.resolve(Math.trunc(valor)); }, assinaturaFormato: 'numero.truncar()', documentacao: '# `numero.truncar()`\n\n' + 'Retorna a parte inteira de um número, descartando suas casas decimais de forma bruta, sem arredondamento.' + '\n\n ## Exemplo de Código\n' + '\n\n```pitugues\n' + 'n = 2.99\n' + 'escreva(n.truncar()) // 2\n```' + '\n\n## Formas de uso\n', exemploCodigo: 'numero.truncar()', }, }; //# sourceMappingURL=primitivas-numero.js.map