Setup
- Implementação do algoritmo se encontra em src/utils/functions.ts
# 0. Clonar repo
git clone https://github.com/domssilva/Desafio.git
# 1. Instalar dependências
cd Desafio/
npm install
# 2. Transpilar Typescript para Javascript
npm run build
# 3. Executar testes
npm test
Tools/Tecnologias usadas
- Typescript
- Eslint\padrão airbnb
- Jest
- Npm
Desafio
Escrever uma função que receba um valor monetário e retorne uma string com o número por extenso.
Exemplos:
- R$ 10,00 = "Dez reais"
- R$ 25,32 = "Vinte e cinco reais e trinta e dois centavos"
- R$ 1.200,00 = "Mil e duzentos reais"
Requisitos:
- JS
Liberdade total para usarem o que quiserem, JS vannila, testes, TS, babel etc.....
Prazo: 11/09/2020
Solução
- remover sinais do input
- armazenar valor em um vetor com 2 campos; o primeiro para unidades e o segundo para valores decimais
- aplicar algoritmo de conversão de número para extenso nos 2 campos do vetor
- unir resultado em uma única string, com no final "real/reais"
- retornar como output a string
Algoritmo de conversão:
- Detectar unidades presentes no valor
- Se os numeros forem os casos unicos ( 11 >= numero <= 19), utilizar matriz uniqueCases
- Se não, utilizar indices da matriz padrão contendo nomeclaturas das unidades
Matriz = {
0: unidades,
1: centenas,
2: dezenas,
};