Ir para conteúdo

POWERED BY:

Arquivado

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

GabrielFerrari

[Resolvido] Simplificar valores

Recommended Posts

Olá pessoal :)

 

Estou finalizando um site onde tenho uma calculadora ambiental até ai tudo beleza

porém alguns resultados acabam ficando com muitas casas após a vírgula

 

Os resultados que precisavam ser exatos eu consegui arredondar porém

os demais precisam ficar com 2 casas após a vírgula e eu realmente não faço idéia de como

fazer isso

tentei alguns IF's com outras coisas que achei na net mas não foi satisfatório.

 

Link - http://www.horusenergia.com.br/calculadora.html

 

Alguma luz?

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não sei se está fazendo o cálculo no actionscript ou com outra linguagem, para resolver isto nos meus cálculos uso o php:

 

number_format(valor,2,',','.')

 

ele retorna em R$, se existe similar no flash não sei, vale a pena procurar.

Abraço

 

fiz uma busca agora e encontrei isto:

http://www.actionscript.org/forums/showthread.php3?t=32181

 

Olá pessoal :)

 

Estou finalizando um site onde tenho uma calculadora ambiental até ai tudo beleza

porém alguns resultados acabam ficando com muitas casas após a vírgula

 

Os resultados que precisavam ser exatos eu consegui arredondar porém

os demais precisam ficar com 2 casas após a vírgula e eu realmente não faço idéia de como

fazer isso

tentei alguns IF's com outras coisas que achei na net mas não foi satisfatório.

 

Link - http://www.horusenergia.com.br/calculadora.html

 

Alguma luz?

 

Obrigado.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Thelon,

 

Há algum tempo, eu criei uma classe que formata moedas. Agora que vi que ela pode ajudar no seu problema – e imagino que os de outras pessoas também – resolvi postá-la.

 

Você pode usar SVN pra baixá-la ou copiar e colar do seguinte endereço: http://code.google.com/p/as3money/source/browse/trunk/com/brunobispo/numbers/Money.as. Na primeira página, http://as3money.googlecode.com/, eu coloquei um exemplo de como usá-la.

 

É a primeira vez que uso o Google Code, então posso ter feito alguma bobagem. Não repare. E se você, ou qualquer outra pessoa que ler esse post, encontrar algum erro, me avisa que eu vou e arrumo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Essa foi facil passa pro proximo problema:

 

trace('Reais:'+ string); // output: -103.203,23
trace('Number:'+ number); // output: -103203.23
trace('Dólares:'+ formatado); // output: -103.203,23

trace funciona trace("valor" + variavel);

 

E não aceita virgulas :) e o mais eh como se fosse o . do php

Mesma coisa que o alert do javascript ;)

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

ahhh não sabia disso não!

Valeu berseck

 

 

Mas de qualquer forma consegui resolver com a ajuda de um amigo

ficou uma funçãozinha assim:

 

function arredonda(resultado:Number):Number{
	// passando para String:
	var resultFinal:String = resultado.toString();
	// verificando o índex do ponto no número:
	var indexPonto:Number = resultFinal.indexOf(".");
	// se houver ponto, ou seja, se o número original for um número com casas decimais:
	if (indexPonto != -1) {
					// diga que a string deve ser cortada do início até 2 números a frente do ponto:
			resultFinal = resultFinal.slice(0, indexPonto + 3);
	}
	// exiba no painel Output o resultado final:
	return Number(resultFinal);
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim,

 

Mas e se o usuario digitar 1.2.3.4.5.6.7 como que vai ficar?

 

Ou se ele digitar 1,3,3,,4,5,6,6

 

:)

Tem que bloquear isso tbm rs

 

Eu até tenho um codigo que faz isso... mas n ta publicado em lugar algum... e deve ta na zona do meu pc de casa...

Então infelizmente com esse n vo poder ajudar rs

 

So ficar dando corda pra ver se pega fogo :P

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agradeço pelo link brunobispo porém não estou conseguindo :(

Já tentei de diversas maneiras e sempre me retorna o mesmo erro

 

wrong number of parameters; trace requires exactly 1

 

Obrigado :)

 

Essa classe é para AS3. Por isso o erro. No AS3, trace() aceita qualquer número de parâmetros.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim... mas como ele obteve esse erro interpretei que ele estava utilizando AS 2 :)

E por isso disse que é usado daquela forma

 

E mesmo no AS 3 é preferivel usar daquela maneira do que com virgulas para mostrar parametros... afinal + ou , da no mesmo você vai ter que digitar de qualquer maneira 1 ou outro ;)

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tem uma classe de terceiro que tem todas essas funcoes que ele precisa, ascb é o nome do pacote, não me lembro o endereco mas tenho aqui anotado em algum lugar.Se precisar avisa aew que procuro.

Abs

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.