Oi Tacio, é possível fazer sem lib, no entanto, vai demandar um conhecimento mais profundo da linguagem JavaScript e esse não é o foco do treinamento de lógica, que tem maior foco na lógica. Inclusive, nem era necessário ter as outras tag's que você colocou (acredito que você já tenha algum experiência com HTML, por isso quis adiciona-las).
No entanto, para lançar uma luz no problema apresentado por você, vou tentar resolvê-lo usando a menor quantidade de código possível para que você tenha um norte a media que for evoluindo na linguagem JavaScript. Beleza?
Vou explicar as particularidades em comentário no código. Fui verboso nos nomes das variáveis para deixar claro o que cada parte esta fazendo:
function id( el ){
return document.getElementById( el );
}
function getMoney( el ){
var money = id( el ).value.replace( ',', '.' );
return parseFloat( money )*100;
}
function soma() {
var total = getMoney('campo1')+getMoney('campo2')+getMoney('campo3');
// USANDO A NOVA FUNÇÃO!
id('campo4').value = numeroParaReal(total/100);
}
// NOVA FUNÇÃO! A QUE FAZ A CONVERSÃO!
function numeroParaReal(numero) {
console.log(numero);
// todo número possui a função to Fixed que o converte para STRING com o número de casas decimais que indicarmos.
var totalComDoisDigitosComoString = numero.toFixed(2);
// Veja o resultado!
console.log(totalComDoisDigitosComoString);
// como nosso numero é uma string, toda string possui o método replace que permite trocar parte dele. No caso, estamos trocando ponto por vírgula. O método devolve uma nova string com a modificação.
var numeroComoStringComPontoTrocadoPorVirgula = totalComDoisDigitosComoString.replace('.', ',');
// veja o resultado
console.log(numeroComoStringComPontoTrocadoPorVirgula);
// agora retorno a concatenação de R$ com a string que represnta nosso número
return "R$ " + numeroComoStringComPontoTrocadoPorVirgula;
}
Ou eu posso fazer assim:
function numeroParaReal(numero) {
return "R$ " + numero.toFixed(2).replace('.', ',');
}
Mas é como eu disse, a media que for evoluindo na linguagem, se ela é a linguagem de sua escolha, novos truques você aprenderá.
Sucesso e bom estudo!