Ir para conteúdo

POWERED BY:

Arquivado

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

ALSANTSU

alpha = 0.6; trace(alpha);

Recommended Posts

Provavelmente vocês já devem ter observado algum caso do tipo:

 

alpha = 0.6;

trace(alpha);

 

E a saída retorna 0.59765625

 

Queria saber o que acontece, e como posso fazer para que a saída seja realmente 0.6.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta usar Math.Round para arredondar!

Aí vai para 1.

 

O que pode ser feito neste caso é:

trace(alpha.toFixed(1));

 

 

Mas há casos em que isto não retorna apenas uma casa decimal, aí já complica um pouco.

Acho que isso é um bug que deveria ser arrumado, as vezes atrapalha.

Compartilhar este post


Link para o post
Compartilhar em outros sites

No AS3 acho que ele não aceita 0 a 100, somente 0 a 1 mesmo, 0.1, 0.2 ... o flash tem realmente esses problemas com conta, se você der um trace de (1 - 0.8 - 0.2) ele não da zero nunca, ja tive muitos problemas ao trabalhar com flutuantes no flash e hoje em sistemas preciso usar sempre um backend, php ou asp pra fazer as contas pois não confio no flash pra essas coisas, no caso acho o mais confiável o toFixed mesmo, apesar de não documentado, funciona bem na maioria dos casos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

No AS3 acho que ele não aceita 0 a 100, somente 0 a 1 mesmo, 0.1, 0.2 ... o flash tem realmente esses problemas com conta, se você der um trace de (1 - 0.8 - 0.2) ele não da zero nunca, ja tive muitos problemas ao trabalhar com flutuantes no flash e hoje em sistemas preciso usar sempre um backend, php ou asp pra fazer as contas pois não confio no flash pra essas coisas, no caso acho o mais confiável o toFixed mesmo, apesar de não documentado, funciona bem na maioria dos casos.

Como seria esse backend?

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que ue quis dizer é que se por exemplo eu fosse fazer uma calculadora no flash, eu mandaria para uma função no php ou asp e mostraria o resultado no flash, e não faria a conta direta no flash, agora pra calculos de animações e etc é meio que impraticável, porque tem todo esse tempo de mandar e receber variáveis.

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.