Ir para conteúdo


Foto

[RESOLVIDO] Regra matemática de aproximação


  • Por favor, faça o login para responder
12 respostas neste tópico

#1 Beta

Beta

    Member Avançado

  • Membros
  • PipPipPip
  • 42 posts

Postado 28 February 2012 - 15:35

Pessoal,

  Boa Tarde! Gostaria de uma ajuda quanto a regra matemática de aproximar p/ gerar 2 casas decimais após a vírgula.
  Segue o código abaixo:

this.psatotal = new Ext.form.TextField ({
			fieldLabel: "PSA Total<span class='unidade'>(ng/mL)</span>",
			allowBlank: true,
			maxLength:5,
			width: 100,
			value:this.data.psatotal,
			maskRe: /['0-9.]/,
		    minValue: 0,
			maxValue: 99.99 			
		});
		
		
	  this.psalivre = new Ext.form.TextField ({
			fieldLabel: "PSA Livre<span class='unidade'>(ng/mL)</span>",
			allowBlank: true,
			width: 100,
			maxLength:5,
			value:this.data.psalivre,
			maskRe: /['0-9.]/,
			minValue: 0,
			maxValue: 99.99 		  
		});
	  
	  
	  this.psalivre.on('change',function (t, v1, v0) {
		  
		 
		  var psatotal = this.psatotal.getValue(); 
		  

		  if(( psatotal != 0) &&(v1 != 0)){
				  
			  var div_psa = parseFloat(v1)/ parseFloat(psatotal);
			  			  
			  this.rel_psa_lt.setValue(div_psa); 
			  
		  }		  	  
		  
	  },this);
	  
	  
	  	this.rel_psa_lt = new Ext.form.TextField ({
			fieldLabel: 'Relação PSA Livre /Total',
			allowBlank: true,
			width: 150,
			//allowNegative: false,
			value: this.data.rel_psa_lt,			
			maskRe: /['0-9.']/,
			minValue: 0,
			maxValue: 99.99 
						
		});


#2 Fabio Jr. Policeno

Fabio Jr. Policeno

    Member Avançado

  • Expert User
  • 2933 posts
  • LocationCuritiba - PR

Postado 28 February 2012 - 16:27

http://docs.sencha.c...at-method-round
Ext.util.Format.round(2.3379998, 2); // 2,34

Produtos/Serviços Ext JS
Porque dEle, por Ele, para Ele são todas as coisas

#3 javaman

javaman

    Member Avançado

  • Membros
  • PipPipPip
  • 595 posts

Postado 28 February 2012 - 16:32

http://docs.sencha.c...at-method-round

Ext.util.Format.round(2.3379998, 2); // 2,34


So um comentario, ele postou no forum de extjs 2

Eu realmente nao lembro se essa funcao tinha essa mesma chamada, eu ACHO q sim

[]s

#4 Beta

Beta

    Member Avançado

  • Membros
  • PipPipPip
  • 42 posts

Postado 28 February 2012 - 16:39

Em que momento do meu código eu coloco essa função?

Obrigada!
Roberta

#5 Fabio Jr. Policeno

Fabio Jr. Policeno

    Member Avançado

  • Expert User
  • 2933 posts
  • LocationCuritiba - PR

Postado 28 February 2012 - 16:47


http://docs.sencha.c...at-method-round

Ext.util.Format.round(2.3379998, 2); // 2,34


So um comentario, ele postou no forum de extjs 2

Eu realmente nao lembro se essa funcao tinha essa mesma chamada, eu ACHO q sim

[]s

Ops, verdade!
Roberta, você se refere a versão 2 do Ext JS?
Produtos/Serviços Ext JS
Porque dEle, por Ele, para Ele são todas as coisas

#6 Fabio Jr. Policeno

Fabio Jr. Policeno

    Member Avançado

  • Expert User
  • 2933 posts
  • LocationCuritiba - PR

Postado 28 February 2012 - 16:51

É, segundo a doc da V2 não existe...
Produtos/Serviços Ext JS
Porque dEle, por Ele, para Ele são todas as coisas

#7 Fabio Jr. Policeno

Fabio Jr. Policeno

    Member Avançado

  • Expert User
  • 2933 posts
  • LocationCuritiba - PR

Postado 28 February 2012 - 16:53

Em que momento do meu código eu coloco essa função?

Obrigada!
Roberta

Se vc estiver usando uma versao que possua esta funcionalidade, creio que vc deva aplicar no lugar do seu parseFloat, não sei exatamente o que queres fazer, mas creio que seja por ali que tu queira converter o valor. Recomendo que utilize o numberfield para este tipo de coisa, ele tem funcionalidades interessantes para isso, ou também o uso de máscaras ou vtypes.

Abs!
Produtos/Serviços Ext JS
Porque dEle, por Ele, para Ele são todas as coisas

#8 Beta

Beta

    Member Avançado

  • Membros
  • PipPipPip
  • 42 posts

Postado 28 February 2012 - 17:26

Pessoal estou usando o seguinte comando." Math.round ''. Mais não está retornando nada diz que a variavel Var arredonda é indefinida.
Segue o código abaixo

 this.psalivre.on('change',function (t, v1, v0) {
		   
		  
		  var psatotal = this.psatotal.getValue(); 
		  

		  if(( psatotal != 0) &&(v1 != 0)){
				
			  var div_psa =  parseFloat(v1)/ parseFloat(psatotal);
			  //alert (arrendonda);
			 
			  var arrendonda = Math.round (div_psa);			  
			  
			  this.rel_psa_lt.setValue(arredonda); 
			  
		  }		  	  
		  
	  },this);


#9 Fabio Jr. Policeno

Fabio Jr. Policeno

    Member Avançado

  • Expert User
  • 2933 posts
  • LocationCuritiba - PR

Postado 28 February 2012 - 17:32

Então pelo jeito tu usa a versão 2. Talvez não seria aquele espaço (suposição não muito inteligente, mas vai que ...)?
Math.round (div_psa);
Math.round(div_psa);
Certifique também se div_psa possui algum valor.
Se é aquele alert que diz que ela é undefined, é pq ele está sendo chamado antes da declaração dessa var.
Produtos/Serviços Ext JS
Porque dEle, por Ele, para Ele são todas as coisas

#10 Beta

Beta

    Member Avançado

  • Membros
  • PipPipPip
  • 42 posts

Postado 28 February 2012 - 17:49

sim eu uso a versão 2 a variável div_psa ela recebe o valor sem o arredondamento eu quero pegar esse valor e arredondar.
Juntei o espaço Math.round(div_psa) e não deu certo eu uso o firebug para debugar e aparece o seguinte erro:

arredonda is not defined
[Parar neste erro]
this.rel_psa_lt.setValue(arredonda);

#11 Beta

Beta

    Member Avançado

  • Membros
  • PipPipPip
  • 42 posts

Postado 28 February 2012 - 17:54

Nossaaaaaaaaaaaaa não acredito verificando o código aqui vi que bizarrei na escrita da variável arredonda estava declarado como arrendonda e chamando arredonda..... putz ng merece... Vista cansada!!!!!

Acho que agora deu certo!!!!

#12 Fabio Jr. Policeno

Fabio Jr. Policeno

    Member Avançado

  • Expert User
  • 2933 posts
  • LocationCuritiba - PR

Postado 28 February 2012 - 18:10

Que bom! Favor marcar o tópico como resolvido.
Produtos/Serviços Ext JS
Porque dEle, por Ele, para Ele são todas as coisas

#13 Beta

Beta

    Member Avançado

  • Membros
  • PipPipPip
  • 42 posts

Postado 28 February 2012 - 18:18

:) :) :)
Problema solucionado.
Obrigada pela ajuda!!!!




0 usuário(s) está(ão) lendo este tópico

0 membros, 0 visitantes, 0 membros anônimos