Ir para conteúdo

POWERED BY:

Arquivado

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

Hugo Borges_120734

tem como usar number_format em javascrip?

Recommended Posts

E tipo. mas queria bem simples igual ta no php acima.

 

Atribui na variável $valor o valor $resultado->valor convertido para moeda pt-br (exemplo: 8,53)

 

 

 

OBS: tentei fazer assim, mas não funcionou.

total = number_format(total, 2, ',', '.');

Compartilhar este post


Link para o post
Compartilhar em outros sites

pq essa função não existe nativamente

vc precisa declarar ela. O link acima é uma conversão da função do php para javascript.

 

basta vc usar, ou escrever a sua própria.

No seu outro tópico eu mostrei como fazer, vc poderia pegar aquilo e encapsular em uma função e usar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tentei usar o código assim, mas não esta funcionando. vc sabe pq?

<script>
String.prototype.formatMoney = function() {
  var v = this;

  if(v.indexOf('.') === -1) {
      v = v.replace(/([\d]+)/, "$1,00");
  }

  v = v.replace(/([\d]+)\.([\d]{1})$/, "$1,$20");
  v = v.replace(/([\d]+)\.([\d]{2})$/, "$1,$2");
  v = v.replace(/([\d]+)([\d]{3}),([\d]{2})$/, "$1.$2,$3");
  v = v.replace(/([\d]+)([\d]{3}).([\d]{3}),([\d]{2})$/, "$1.$2.$3,$4");

  return v;
};

var total = ( 600/ 7);

var v = total;


v = parseFloat(v.replace(',', '.'));//transformando em float
v = v.toFixed(2); //arredondando
v = String(v).formatMoney(); //formatando

console.log(v); //85,71


</script>

<script>alert(v);</script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tentei simplificar, veja:

 

<script>
String.prototype.formatMoney = function() {
  var v = this;

  if(v.indexOf('.') === -1) {
      v = v.replace(/([\d]+)/, "$1,00");
  }

  v = v.replace(/([\d]+)\.([\d]{1})$/, "$1,$20");
  v = v.replace(/([\d]+)\.([\d]{2})$/, "$1,$2");
  v = v.replace(/([\d]+)([\d]{3}),([\d]{2})$/, "$1.$2,$3");
  v = v.replace(/([\d]+)([\d]{3}).([\d]{3}),([\d]{2})$/, "$1.$2.$3,$4");

  return v;
};
function number_format(v) {
  v = parseFloat(String(v).replace(',', '.'));
  v = v.toFixed(2);
  return  String(v).formatMoney();
}
</script>

<script>
var total = 600 / 7;
var v = number_format(total);
alert(v);

alert(number_format(70000/9));
</script>
E para vc ver pq não está funcionando o js aperte Ctrl + Shift + J

http://wbruno.com.br/javascript-puro/como-debugar-javascript-firefox-erros-comuns/

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.