@devix-tecnologia/numero-por-extenso
Version:
Escreve números por extenso: normais, monetários e porcentagens.
20 lines • 1 kB
JavaScript
import { numberInFull } from "../common.js";
/**
* Converte um número para sua representação por extenso em reais.
*
* @param numero O número (como número ou string) a ser convertido para extenso.
* @returns A representação por extenso do valor em reais e centavos.
*/
export default function porExtenso(numero) {
let numberStr = numero.toString().replace("-", "").split("."), numberBefore = parseInt(numberStr[0]) || 0, numberAfter = parseInt(((numberStr[1] || "0") + "00").substring(0, 2));
let numberBeforeExtended = (numero < 0 ? "menos " : "") + numberInFull(numberBefore), numberAfterExtended = numberInFull(numberAfter);
return ((numberBefore > 0
? numberBeforeExtended + (numberBefore == 1 ? " real" : " reais")
: "") +
(numberAfter > 0
? (numberBefore > 0 ? " e " : "") +
numberAfterExtended +
(numberAfter == 1 ? " centavo" : " centavos")
: ""));
}
//# sourceMappingURL=monetario.js.map