/*@file utils.js
@brief Conjunto de funções para tratamento dos dados
@author Marcone Gledson de Almeida
@date 2008
*/
/* @brief Converte uma string em formato moeda para float
@param valor(string) - o valor em moeda
@return valor(float) - o valor em float
*/
function converteMoedaFloat(valor){
if(valor === ""){
valor = 0;
}else{
valor = valor.replace(".","");
valor = valor.replace(",",".");
valor = parseFloat(valor);
}
return valor;
}
/* @brief Converte um valor em formato float para uma string em formato moeda
@param valor(float) - o valor float
@return valor(string) - o valor em moeda
*/
function converteFloatMoeda(valor){
var inteiro = null, decimal = null, c = null, j = null;
var aux = new Array();
valor = ""+valor;
c = valor.indexOf(".",0);
//encontrou o ponto na string
if(c > 0){
//separa as partes em inteiro e decimal
inteiro = valor.substring(0,c);
decimal = valor.substring(c+1,valor.length);
}else{
inteiro = valor;
}
//pega a parte inteiro de 3 em 3 partes
for (j = inteiro.length, c = 0; j > 0; j-=3, c++){
aux[c]=inteiro.substring(j-3,j);
}
//percorre a string acrescentando os pontos
inteiro = "";
for(c = aux.length-1; c >= 0; c--){
inteiro += aux[c]+'.';
}
//retirando o ultimo ponto e finalizando a parte inteiro
inteiro = inteiro.substring(0,inteiro.length-1);
decimal = parseInt(decimal);
if(isNaN(decimal)){
decimal = "00";
}else{
decimal = ""+decimal;
if(decimal.length === 1){
decimal = decimal+"0";
}
}
valor = "R$ "+inteiro+","+decimal;
return valor;
}
[1] Comentário enviado por M4iir1c10 em 21/03/2008 - 10:21h
Desculpa a minha ignorancia mais esse codigo-fonte esta com cara de Javascript e nao shell-script...
Caso eu esteja certo nao seria legal da sua parte escrever que se trata de um javascript e como ele deve ser invocado pelo html?
Lembre-se nem todos conhecem as linguagens de script e pensam que um simples copiar e colar resolve qualquer problema...
[2] Comentário enviado por baxman em 21/03/2008 - 20:01h
Mauricio,
Este código não tem nada haver com JavaScript é também creio que não dá para transparecer isso.
Primeiro porque na primeira linha do script aparece o nome do arquivo com a extensão js que é utilizada para os arquivos em Javascript. Segundo, se você observar bem o código perceberá que tem funções internas especificas do JS como comparações que são bastante diferentes em Shell Script.
Agora para "invocar" o arquivo é só escrever a seguinte linha entre as tags <head></head> do seu arquivo HTML.
<script src="utils.js" type="javascript"/>
[3] Comentário enviado por M4iir1c10 em 22/03/2008 - 02:14h
Essa funcao:
function converteMoedaFloat(valor){
if(valor === ""){
valor = 0;
}else{
valor = valor.replace(".","");
valor = valor.replace(",",".");
valor = parseFloat(valor);
}
return valor;
}
e a funcao:
function converteFloatMoeda(valor)
no meu entendimento e javascript puro! Caso seja shell script as variaveis seriam $variavel e nao valor=x ou seja nessa ultima linha do converteMoedaFloat(valor) a variavel deveria ser:
[4] Comentário enviado por lohandus em 27/05/2008 - 17:11h
Olá, a função converteFloatMoeda parece ter um bug.
Na linha "decimal = parseInt(decimal);" se a variável decimal for por exemplo uma string "05", ela passa a valer 5, correto? Então se o número a ser convertido for por exemplo 12.05, ele passa a valer 12,50
[5] Comentário enviado por dogma em 27/01/2019 - 21:08h
[4] Comentário enviado por lohandus em 27/05/2008 - 17:11h
Olá, a função converteFloatMoeda parece ter um bug.
Na linha "decimal = parseInt(decimal);" se a variável decimal for por exemplo uma string "05", ela passa a valer 5, correto? Então se o número a ser convertido for por exemplo 12.05, ele passa a valer 12,50
Tive o mesmo problema mas consegui encontrar e corrigir é um pequeno erro dentro do ultimo 'if' onde o trecho esta 'decimal = decimal+"0";' e deve ser substituído por 'decimal = "0"+decimal;'. vlw