Autor Tópico: [Duvida]Flash Developer (raiz quadrada)  (Lida 4000 vezes)

Offline TripleHCP

  • Aprendiz
  • **
  • Mensagens: 82
    • Ver Perfil
[Duvida]Flash Developer (raiz quadrada)
« em: 6 de Maio de 2006, 22:41:49 »
Boas

É assim eu tenho um campo de texto chamado A e outro chamado A1 no A1 é para inserir texto no A é dynamic text, eu quero que o A apresente a raiz quadrada de A1.

Então estou a usar este codico:
Código: [Seleccione]
raiz = _root.A1.text;
_root.A.text = Math.sqrt(Number(raiz));


O que acontece é que no campo A1 aparece "nan".

Cumps

Offline alftuga

  • Aprendiz
  • **
  • Mensagens: 202
    • Ver Perfil
    • http://www.alftuga.net
[Duvida]Flash Developer (raiz quadrada)
« Responder #1 em: 8 de Maio de 2006, 00:08:23 »
o teu codigo esta bom deve estar alguma coisa a interferir ...

Offline TripleHCP

  • Aprendiz
  • **
  • Mensagens: 82
    • Ver Perfil
[Duvida]Flash Developer (raiz quadrada)
« Responder #2 em: 9 de Maio de 2006, 19:47:54 »
Boas,

Eu estou a usar este codico num botão:
Código: [Seleccione]
on (release) {
a = _root.az.text;
b = _root.bz.text;
c = _root.cz.text;
raiz = (b*b)-4*a*c;
_root.mmx.text = -b+Math.sqrt(raiz);
}


O problema é que o mmx ás vezes exibe NaN, por exemplo se a=1 b=1 c=1 o mmx é  = NaN mas se por exemplo a=1 b=3 c=2 já da -2 não percebo porque é que no primeiro caso da Nan.

Cumps

Offline TripleHCP

  • Aprendiz
  • **
  • Mensagens: 82
    • Ver Perfil
[Duvida]Flash Developer (raiz quadrada)
« Responder #3 em: 9 de Maio de 2006, 19:53:02 »
:oops: esqueçam, já estive a ver melhor e n reparei que no 1º caso raiz = -3 e não se pode fazer raizes quadradas de numeros negativos :P

Cumps

Offline yarcub

  • Aprendiz
  • **
  • Mensagens: 138
    • Ver Perfil
[Duvida]Flash Developer (raiz quadrada)
« Responder #4 em: 9 de Maio de 2006, 19:53:43 »
Citar
por exemplo se a=1 b=1 c=1 o mmx é = NaN


O teu código ñ tem problema nenhum. o problema é:

(b*b)-4*a*c-> 1*1-4*1*1=-3

A seguir faz a raíz quadrada de um número negativo, o que é impossível.

Daí que o valor de retorno seja NaN (Not a Number).

Offline TripleHCP

  • Aprendiz
  • **
  • Mensagens: 82
    • Ver Perfil
[Duvida]Flash Developer (raiz quadrada)
« Responder #5 em: 9 de Maio de 2006, 22:14:17 »
É assim imaginando que tenho a raiz quadrada de 7 que dá um numero irracional, e eu quero que em vez de exebir o numero arredondado, apareça "√7". Do tipo.

Código: [Seleccione]
x = Math.sqrt(7);
if(x == numero irracional){
_root.raiz.text = "√7";
}


Cumps

Offline TripleHCP

  • Aprendiz
  • **
  • Mensagens: 82
    • Ver Perfil
[Duvida]Flash Developer (raiz quadrada)
« Responder #6 em: 10 de Maio de 2006, 18:52:24 »
Boas,

Não há nada que identifique o conjunto dos numeros inteiros ()? Se não houver, há alguma maneira de fazer uma condição deste tipo.
Código: [Seleccione]

x=Mathsqrt(7);
if(x != Z){
_root.texto.text = "não é um numero inteiro";
}


Cumps

Offline alftuga

  • Aprendiz
  • **
  • Mensagens: 202
    • Ver Perfil
    • http://www.alftuga.net
[Duvida]Flash Developer (raiz quadrada)
« Responder #7 em: 11 de Maio de 2006, 00:27:53 »
acho que não... mas não tenho a certeza...

no entanto dou te uma solução.

Código: [Seleccione]


x = Math.sqrt(7);
txt = x.toString();
test = txt.indexOf(".");
if (test != -1) {
_root.texto.text = "não é um numero inteiro";
trace("alert não é um numero inteiro")
}

Offline TripleHCP

  • Aprendiz
  • **
  • Mensagens: 82
    • Ver Perfil
[Duvida]Flash Developer (raiz quadrada)
« Responder #8 em: 11 de Maio de 2006, 20:18:17 »
funciona lindamente no entanto não consegui perceber o codico, se não te importasses podias explica-lo? :)

Cumps

Offline alftuga

  • Aprendiz
  • **
  • Mensagens: 202
    • Ver Perfil
    • http://www.alftuga.net
[Duvida]Flash Developer (raiz quadrada)
« Responder #9 em: 11 de Maio de 2006, 21:19:25 »
indexOf(".")
procura se tens um ponto no teu resultado se ele não encontra o ponto
retorna -1

Offline Grettir

  • Aprendiz
  • **
  • Mensagens: 284
    • Ver Perfil
[Duvida]Flash Developer (raiz quadrada)
« Responder #10 em: 12 de Maio de 2006, 12:56:29 »
Heyas,


o indexOf(".") retorna-te a posiçao onde se encontra o 1º ponto final. Caso nao encontre, o valor é -1.

O primeiro caracter é o 0, e começa a contar dai para a frente.

Fica bem
----------------------------------
Ricardo Castelhano aka Grettir

Adobe Certified Professional
Interactive Designer
Flash Developer
PHP Developer

http://www.ricardocastelhano.com/
-----------------------------------
Keep on "Flashing..."

 




Roleta das Anedotas - Abre noutra janela