Ir para conteúdo

POWERED BY:

Arquivado

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

proteus

formatar valor

Recommended Posts

alguem ai não teria uma função que formata valores?tipo deixar com DUAS casas decimais uma variável?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não dê bola para os comentário, são para controle do sistema que desenvolvi aqui:

 

ASP [/tr][tr]

function currencyFormat(fld, milSep, decSep, e) {

var sep = 0;

var key = '';

var i = j = 0;

var len = len2 = 0;

var strCheck = '0123456789';

var aux = aux2 = '';

var whichCode = (window.Event) ? e.which : e.keyCode;

if (whichCode == 13)

return true; // Enter

key = String.fromCharCode(whichCode); // Get key value from key code

if (strCheck.indexOf(key) == -1) return false; // Not a valid key

len = fld.value.length;

for(i = 0; i < len; i++)

if ((fld.value.charAt(i) != '0') && (fld.value.charAt(i) != decSep)) break;

aux = '';

for(; i < len; i++)

if (strCheck.indexOf(fld.value.charAt(i))!=-1) aux += fld.value.charAt(i);

aux += key;

len = aux.length;

if (len == 0) fld.value = '';

 

// Aqui tem que testar: se $Column->{decimals} for 3 coloca + '0' + '0' + senão, apenas + '0' +

if (len == 1) fld.value = '0' + decSep + '0' + aux; // Alterei coloquei + '0' , decSep = , (vírgula)

 

// Aqui tem que testar: se $Column->{decimals} for 3 coloca + '0' + senão, não coloca

if (len == 2) fld.value = '0' + decSep + aux; // Alterei coloquei + '0'

 

// Aqui tem que testar: se $Column->{decimals} for 3 coloca essa linha senão não coloca

//if (len == 3) fld.value = '0' + decSep + aux + aux2; // Adicionei esta linha

 

// Aqui tem que colocar a variável $decimal

if (len > 2) { // Alterei de 2 para 3

aux2 = '';

 

// A cada três caracteres adiciona um milSep (ponto ".")

for (j = 0, i = len - 3; i >= 0; i--) {

if (j == 3) {

aux2 += milSep;

j = 0;

}

aux2 += aux.charAt(i);

j++;

}

 

fld.value = '';

len2 = aux2.length;

 

// Aqui tem que testar: se $Column->{decimals} for 3 coloca i > 0 senão coloca i >= 0

for (i = len2 - 1; i >= 0; i--) // Alterei de i >= 0 para i > 0

fld.value += aux2.charAt(i);

 

// Aqui tem que coloca a variável mo lugar do 3

fld.value += decSep + aux.substr(len - 2, len); // O número dois é o valor chave (número de casas que vem depois da vírgula)

}

return false;

}

 

[/tr]

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.