Página 1 de 1

JS somar unidade de uma milhar

Enviado: 30 Mai 2022 08:55
por leila.silva
Fala pessoal, blz? Sou novo aqui e, desde já, agradeço qualquer ajuda. Sou novato em js.
Estou estundando e trabalhando em um projeto pessoal.

Preciso calcular os numeros de uma milhar, por exemplo: Milhar = 4236 Resultado: 4 + 2 + 3 + 6 = 15

alguém consegue ajudar?

Re: JS somar unidade de uma milhar

Enviado: 30 Mai 2022 08:57
por albertojr
Na verdade é bem simples. Segue lógica aplicada a JavaScript

Código: Selecionar todos

/**
 * Vamos desenvolver uma função para apresentar no console as interações
 * @param {*} params é esperado é número que vai ser usado como base
 * @returns retorna a soma das unidades
 */
const calcularAlgarismos = (params) => {
    /** Primeiro vamos converter o número em uma string para contar a quantidade de casas */
    let toText = String(params);

    /** Definir uma variavel para somar os valores */
    let somaUnidade = 0;

    /** Vamos interragir com a string */
    for (let index = 0; index < toText.length; index++) {
        const element = toText[index];

        /** Somando de fato os números */
        somaUnidade = somaUnidade + parseInt(toText[index]);

        /** Usamos um pouco de lógica para inveter o calculo e acertamos a posição do número  */
        console.log(element + " é " + definicaoAlgarismo(toText.length - index))
    }
    console.log("O resultado é: " + somaUnidade);
    return somaUnidade; 
}

/**
 * Função para retornar a descrição da unidade com base na posição do número. 
 * @param {*} param recebe a posição
 * @returns o texto descritivo
 */
const definicaoAlgarismo = (param) => {
    let texto;
    switch (param) {
        case 1: texto = "Unidade"; break;
        case 2: texto = "Dezena"; break;
        case 3: texto = "Centena"; break;
        case 4: texto = "Unidade de milhar"; break;
        case 5: texto = "Dezena de milhar"; break;
        case 6: texto = "Centena de milhar"; break;
        case 7: texto = "Milhão"; break;
    }
    return texto;
}

/**
 * Chamando a função
 */
calcularAlgarismos(4236)

O resultado impresso no console será:

4 é Unidade de milhar
2 é Centena
3 é Dezena
6 é Unidade
O resultado é: 15