Ir para conteúdo

POWERED BY:

Arquivado

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

Hugo Borges_120734

formatação de moeda em java

Recommended Posts

Vc pode usar a minha função formatMoney:

 

http://wbruno.com.br/javascript-puro/somando-inputs-ao-clicar-em-checkboxes-com-resultado-formatado-em-reais/

 

Note que fiz ela em cima do objeto String.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Que formato é esse que vc está enviando?

 

1,3455 = 13455/10000 ?

 

Ou

 

1,3455 = 13455 ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Envie 1,22323 e queria que ele arredondasse para real ou seja R$1,23

 

Exemplo se vc envia um formato de 1,22323 para um BD decimal10,2 ele salva 1,23

 

 

Vou explicar melhor, tenho 1 campo imput que recebe a seguinte calculo

 

600 / 7

 

o imput exibe 85.71428571428571, quero que ele exiba 85,72

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ahh sim, ai a história muda. Pq você tem precisa arredondar então.

 

<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 v = '85,71428571428571';


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

console.log(v); //85,71
</script>
para a saída ser 85,72 você precisa que o 3 dígito seja maior que 5. Regrinha básica de arredondamento. :lol:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vou te mostrar o que estou tentando fazer. Logo abaixo segue meu código, estou tentando fazer a variável total ficar formatada e arredondada .

<script type="text/javascript">

 function adicionarCampos() {
	var objSelect = document.getElementById("numParcelas");
	var i;
	var linha = "";

	var total = (<?=$valor_nota?> / objSelect.value);


		for (i=0; i < objSelect.value; i++) {	
		
		    // Calcula as datas
			var data = new Date();

			var dia = data.getDate();
            if (dia.toString().length == 1){
      			dia = "0"+dia;
			}
			
			data.setMonth(data.getMonth() + i);
    		var mes = data.getMonth()+1;
    		if (mes.toString().length == 1){
      			mes = "0"+mes;
			}
   		
            var minhaData = dia + '/' + mes + '/' + data.getFullYear();
			
			linha += "<input type='text' name='data"+i+"' id='linha"+i+"' value='"+total+"' class='form_campos_numeros'>   <input type='text' name='linha"+i+"' id='linha"+i+"' value='"+minhaData+"'><br>"
		} 
		
		
		document.getElementById("txtParcelas").innerHTML = linha;
	
  } 
 </script>
 <!-- Fim Sistema de parcelamento -->

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ok, e qual a dúvida ?

 

Mostre a sua tentativa.

Compartilhar este post


Link para o post
Compartilhar em outros sites

tentei fazer assim, mas não deu certo:

<script type="text/javascript">
 
 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 adicionarCampos() {
	var objSelect = document.getElementById("numParcelas");
	var i;
	var linha = "";

	var total = (<?=$valor_nota?> / objSelect.value);
	
	
	total = parseFloat(total.replace(',', '.'));//transformando em float
    total = total.toFixed(2); //arredondando
    total = String(total).formatMoney(); //formatando


		for (i=0; i < objSelect.value; i++) {	
		
		    // Calcula as datas
			var data = new Date();

			var dia = data.getDate();
            if (dia.toString().length == 1){
      			dia = "0"+dia;
			}
			
			data.setMonth(data.getMonth() + i);
    		var mes = data.getMonth()+1;
    		if (mes.toString().length == 1){
      			mes = "0"+mes;
			}
   		
            var minhaData = dia + '/' + mes + '/' + data.getFullYear();
			
			linha += "<input type='text' name='data"+i+"' id='linha"+i+"' value='"+total+"' class='form_campos_numeros'>   <input type='text' name='linha"+i+"' id='linha"+i+"' value='"+minhaData+"'><br>"
		} 
		
		
		document.getElementById("txtParcelas").innerHTML = linha;
	
  } 
 </script>

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.