Ir para conteúdo

POWERED BY:

Arquivado

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

John Petrucci

FormatNumber???

Recommended Posts

Para eu formatar um número em ASP eu utilizo o FormatNumber e para formatar em javascript? isto eh, se tiver como!!

 

exemplo:

 

1000

FormatNumber(1000)

1.000,00

 

seria mais ou menos isto, na verdade,eu quero formatar pra moeda heheeh

 

vlw!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

não tem uma função próprio do javascript como esse do ASP/VB, mas pode-se improvisar:eu usava este:

//formatar nº com casas decimaisfunction formatanumero(numero,decimais){   if (isNaN(numero)) { return 0};   if (numero=='') { return 0};     var IsNegative=(parseInt(numero)<0);  if(IsNegative)numero=-numero;  var snum = new String(numero);   var sec = snum.split('.');   var whole = parseInt(sec[0]);   var result = '';   if(sec.length > 1){     var dec = new String(sec[1]);     dec = parseInt(dec)/Math.pow(10,parseInt(dec.length-decimais-1)); Math.round(dec); dec = parseInt(dec)/10; if(IsNegative) {  var x = 0-dec;      x = Math.round(x);  dec = - x; } else {      dec = Math.round(dec); } /*  * If the number was rounded up from 9 to 10, and it was for 1 'decimal'  * then we need to add 1 to the 'whole' and set the dec to 0.  */ if(decimais==1 && dec==10) {  whole+=1;  dec="0"; }    dec = String(whole) + "." + String(dec);     var dot = dec.indexOf('.');     if(dot == -1){       dec += '.';       dot = dec.indexOf('.');     } var l=parseInt(dot)+parseInt(decimais);    while(dec.length <= l) { dec += '0'; }     result = dec;   } else{     var dot;     var dec = new String(whole);     dec += '.';     dot = dec.indexOf('.'); var l=parseInt(dot)+parseInt(decimais);    while(dec.length <= l) { dec += '0'; }     result = dec;   }   if(IsNegative)result="-"+result;  return result; }

ele retorna o valor formatado, nem lembro d onde peguei este código mas funfa belezanão não tem o simbolo da moeda ^_^ ex:

document.form1.valor.value=formatanumero(1500.00,2)

quando eu utilizo esta função o valor está no formato americano (a casa decimal é o ponto '.')e você chamar formatanumero(1500,00,2) dá erro a naum ser q você faça ajustes :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

hmmmvlw velho, vou ver o q consigo fazer com ela....qq coisa volto a postarvlw msmboa noite

Compartilhar este post


Link para o post
Compartilhar em outros sites

podes craw!!!!!!Vlw maninho, legal msm essa função, vou ver o q consigo fazer com ela....vlw amigão!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu resolvi assim. Espero ajudar.

 

de 12345678.98 para 12.345.678,98

 

Código javascript

xtot=12345678.98;
xtot = xtot.toFixed(2).replace('.',',');
for(ii=0 ; ii<= Math.floor(xtot.length/3); ii++ ) 
   xtot = xtot.replace(/([0-9])([0-9]{3})([.,])/,'$1.$2$3');

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.