Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

ernestovm

Formando Número (Real) em JavaScript

Recommended Posts

Tenho observado que tem muita gente com problemas de como formatar um valor para imprimir em um relatório ou em outro lugar. Principalmente quando está querendo gerar um relatório com o FPDF que é escrito em JavaScript.

Então, como quando estava precisando, procurei e só encontrei formar para formatar em forms, quando não, outras formas complicads, resolvi desenvolver meu próprio. Simples e fácil de implementar em sua página. Veja que para usar, basta substituir a variável SLA pela que você está usando.

 

SLA = (Campo da tabela que contém o valor tipo Money) no meu caso, SQL Server.

SLA = SLA.replace(".",",");

// Verifica se o valor está com uma casa decimal apenas (p.e: 100,5). Se tiver acrescenta um 0 (fica 100,50)

if(SLA.substr(SLA.length-2,1)==",")

SLA = SLA + "0"

// Verifica se o valor está inteiro (p.e: 100). Se estiver acrescenta 0,00 (fica 100,00)

else if(SLA.indexOf(",")==0)

SLA = SLA + ",00";

// Colocar os pontos separadores de milhares (p.e: 1.000.000,00)

var t = SLA.length-1;

var p = 1;

var n = "";

for(i=t;i>=0;i--) {

n = SLA.substr(i,1) + n;

if(SLA.substr(i,1)==",")

p = 1

else

p = p + 1;

if(p>3) {

n = "." + n;

p = 1;

}

}

SLA = n;

// Verifica se a primeira posição é um ponto. Ocorre com valores do tamanho desse exempo: 100000,00

if(SLA.substr(0,1)==".")

SLA = SLA.substr(1,SLA.length-1);

// Se o valor contiver "0" coloca "0,00"

if(SLA=="0")

SLA = "0,00";

 

Espero que alguém não passe mais pelo que eu passei usando esse script. Pois, apesar de ter muito material de ajuda nos foruns, parece que quando mais precisamos de açgo urgente, tais informações se escondem.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.