Ir para conteúdo

POWERED BY:

Arquivado

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

franciscosolla

[Problema] Numero em Notação Científica

Recommended Posts

Quando coloco o campo de texto para exibir uma variável que o numero é muito grande, ele é automaticamente transformado em notaçao cientifica.

Como faço para que isso não aconteça, para que o numero seja exibido por completo no campo de texto?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qual o tipo da variável e quantos dígitos tem o número que será inserido no campo?

 

Se informar o code que está usando fica mais fácil para obter auxílio.

 

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não postei o codigo porque esta muito grande e confuso, é meu primeiro código em flash.

 

Esta mais ou menos assim:

 

var bbb:Number = 602000000000000000000000 ;
var bb:Number = bbb - 4000 ;
var yiyi:Number = barra._y ;
var dd:Number = mais._y - 2 * yiyi ;
var yy:Number = barra._y - yiyi ;
var zz:Number = yy ;

zero.text = zz * bb / dd ;
um.text = zz * bb / dd + 1000 ;
dois.text = zz * bb / dd + 2000 ;
tres.text = zz * bb / dd + 3000 ;
quatro.text = zz * bb / dd + 4000 ;

 

------------------------------------------------------------------

 

Os resultados de zero.text, um.text, dois.text, tres. text e quatro.text variam porque zz varia no código completo. Entao nao posso simplesmente escrever o resultado como string.

 

-------------------------------------------------------------------

 

Código completo:

 

 

stop()

// O programa define uma lista que vai de 0 a 6,02 * 10^23 pulando de 1000 em 1000.
// Na verdade sao 5 linhas qua alteram com o movimento de um objeto, dando a impressam de ser uma lista.
// bbb é o numero maximo da ultima linha da lista, e bb o numero maximo da primeira linha.
// yiyi quarda a informaçao da posiçao y inicial do objeto (barra) q é movimentado para variar o resultado das linhas.
// dd é a distancia y maxima que o objeto (barra) pode ser movido
// xx quarda a a imformaçao da posiçao x inicial do objeto (barra)
// yy é a distancia y que o objeto (barra) foi movido. Inicialmente 0.
// Como yy é usado para atualizar a posiçao do objeto (barra) constantemente, e é arredondado por isso, zz foi criada para fazer calculos e armazenar a movimentaçao real do objeto (barra).
var bbb:Number = 602000000000000000000000 ;
var bb:Number = bbb - 4000 ;
var yiyi:Number = barra._y ;
var dd:Number = mais._y - 2 * yiyi ;
var xx:Number = barra._xb.text = bb ;
var yy:Number = barra._y - yiyi ;
var zz:Number = yy ;

// Estas caixas de texto foram criadas para que eu posso conferir se os calculos foram feitos corretamente.
yi.text = yiyi ;
d.text = dd ;
x.text = xx ;
y.text = yy ;
z.text = zz ;

// Estas sao as caixas de texto de cada linha que formam a lista.
zero.text = zz * bb / dd ;
um.text = zz * bb / dd + 1000 ;
dois.text = zz * bb / dd + 2000 ;
tres.text = zz * bb / dd + 3000 ;
quatro.text = zz * bb / dd + 4000 ;

// drag é usada para informar se o objeto (barra) esta em movimento.
var drag:Number = 0

// O codigo a seguir é referente ao botao de seta para baixo da barra de rolagem.
mais.onPress = function() {

//Testa se o numero da ultima linha passará do numero maximo.
if (zz * bb / dd + 5000 > bbb) 
{ 
   	// As caixas de texto sao definidas para o resultado maximo da lista.
	zero.text = bbb - 4000 ;
	um.text = bbb - 3000 ;
	dois.text = bbb - 2000 ;
	tres.text = bbb - 1000 ;
	quatro.text = bbb ;
	// Define o quanto a barra foi movimentada para esse resultado e atualiza sua posiçao.
	zz = dd ;
	z.text = zz ;
	barra._y = Math.round(zz + yiyi) ;
	ibarra._y = barra._y ;
	yy = barra._y - yiyi ;
	y.text = yy ;
} 
else 
{ 
	// Soma 1000 em cada resultado das linhas.
	// Divide o resultado por 1000, arredonda e multiplica por 1000 para que os resultados avancem sempre de 1000 em 1000.
	zero.text = Math.round((zz * bb / dd + 1000) / 1000) * 1000 ;
	um.text = Math.round((zz * bb / dd + 2000) / 1000) * 1000 ;
	dois.text = Math.round((zz * bb / dd + 3000) / 1000) * 1000 ;
	tres.text = Math.round((zz * bb / dd + 4000) / 1000) * 1000 ;
	quatro.text = Math.round((zz * bb / dd + 5000) / 1000) * 1000 ;
	// Define o quanto a barra foi movimentada para esse resultado e atualiza sua posiçao.
	// No caso a posiçao maxima da barra.
	zz = zz + 1000 * dd / bb ;
	z.text = zz ;
	barra._y = Math.round(zz + yiyi) ;
	ibarra._y = barra._y ;
	yy = barra._y - yiyi ;
	y.text = yy ;
}
};

// O codigo a seguir é referente ao botao de seta para cima da barra de rolagem.
menos.onPress = function() {

//Testa se o numero da primeira linha passará de 0.
if (zz * bb / dd - 1000 < 0) 
{ 
   	// As caixas de texto sao definidas para o resultado minimo da lista.
	zero.text = 0 ;
	um.text = 1000 ;
	dois.text = 2000 ;
	tres.text = 3000 ;
	quatro.text = 4000 ;
	// Define o quanto a barra foi movimentada para esse resultado e atualiza sua posiçao.
	// No caso a barra vai para a posiçao inicial.
	zz = 0 ;
	z.text = zz ;
	barra._y = yiyi ;
	ibarra._y = barra._y ;
	yy = 0 ;
	y.text = yy ;
} 
else 
{ 
	// Diminui 1000 em cada resultado das linhas.
	// Divide o resultado por 1000, arredonda e multiplica por 1000 para que os resultados avancem sempre de 1000 em 1000.
	zero.text = Math.round((zz * bb / dd - 1000) / 1000) * 1000 ;
	um.text = Math.round((zz * bb / dd) / 1000) * 1000;
	dois.text = Math.round((zz * bb / dd + 1000) / 1000) * 1000 ;
	tres.text = Math.round((zz * bb / dd + 2000) / 1000) * 1000 ;
	quatro.text = Math.round((zz * bb / dd + 3000) / 1000) * 1000 ;
	// Define o quanto a barra foi movimentada para esse resultado e atualiza sua posiçao.
	zz = zz - 1000 * dd / bb ;
	z.text = zz ;
	barra._y = Math.round(zz + yiyi) ;
	ibarra._y = barra._y ;
	yy = barra._y - yiyi ;
	y.text = yy ;
}
};

// ibarra é um objeto invisivel que ao ser movimentado defini o movimento da barra.
ibarra.onPress = function() 
{
// drag = 1 quer dizer que a barra esta em movimento
drag = 1
// O Mouse.hide() é apenas para efeito visual.
Mouse.hide()
mx.behaviors.DepthControl.bringToFront(barra);
startDrag(ibarra) ;
};

// Define o movimento da barra pelo movimento da ibarra.
// Define os resultados das linhas pelo movimento da barra.
this.onMouseMove = function() 
{
// Testa se a barra esta em movimento, se nao estiver, nao acontece nada.
if (drag < 1) 
{

}

// Para drag = 1, ou seja a ibarra esta em movimento.
else 
{
	ibarra.onMouseMove = function() 
	{
		// Garante que a barra esteja com a posiçao x inicial
		barra._x = xx
		// Deixa a barra com a posiçao y igual a da ibarra.
		barra._y = ibarra._y
		// Define o quanto foi movimentado.
		yy = barra._y - yiyi ;
		y.text = yy ;
		//Define o quanto foi movimentado para calculo.
		zz = yy ;
		z.text = zz ;

		//Testa se o numero da primeira linha passará de 0.
		if (zz * bb / dd - 1000 < 0) 
		{ 
   			// As caixas de texto sao definidas para o resultado minimo da lista.
			zero.text = 0 ;
			um.text = 1000 ;
			dois.text = 2000 ;
			tres.text = 3000 ;
			quatro.text = 4000 ;
			// Define o quanto a barra foi movimentada para esse resultado e atualiza sua posiçao.
			// No caso a barra vai para a posiçao inicial.
			zz = 0 ;
			z.text = zz ;
			barra._y = yiyi ;
			ibarra._y = barra._y ;
			yy = 0 ;
			y.text = yy ;
		} 

		//Testa se o numero da ultima linha passará do numero maximo.
		else if (zz * bb / dd + 5000 > bbb) 
		{ 
   			// As caixas de texto sao definidas para o resultado maximo da lista.
			zero.text = bbb - 4000 ;
			um.text = bbb - 3000 ;
			dois.text = bbb - 2000 ;
			tres.text = bbb - 1000 ;
			quatro.text = bbb ;
			// Define o quanto a barra foi movimentada para esse resultado e atualiza sua posiçao.
			zz = dd ;
			z.text = zz ;
			barra._y = Math.round(zz + yiyi) ;
			ibarra._y = barra._y ;
			yy = barra._y - yiyi ;
			y.text = yy ;
		} 

		//Atualiza o resultado das linhas da lista segundo a posiçao atual da barra que esta armazenada em zz.
		else
		{
			zero.text = Math.round((zz * bb / dd) / 1000) * 1000 ;
			um.text = Math.round((zz * bb / dd + 1000) / 1000) * 1000 ;
			dois.text = Math.round((zz * bb / dd + 2000) / 1000) * 1000 ;
			tres.text = Math.round((zz * bb / dd + 3000) / 1000) * 1000 ;
			quatro.text = Math.round((zz * bb / dd + 4000) / 1000) * 1000 ;
		}
	}
}
} ;

// Definiçoes para quando a ibarra for solta.
ibarra.onRelease = function() 
{
// drag = 0 pois nao esta mais em movimento.
drag = 0
// Cancela a function  definida anteriormente.
ibarra.onMouseMove = null()
       // Mouse.show() para efeito visual.
Mouse.show()
// Define a ibarra e a barra na posiçao x inicial.
ibarra._x = xx ;
barra._x = xx ;
// Atualiza a posiçao y das variaveis e da ibarra para coincidir com a da barra.
yy = barra._y - yiyi ;
y.text = yy ;
zz = yy ;
z.text = zz ;
ibarra._y = barra._y ;

//Testa se o numero da primeira linha passará de 0.
if (zz * bb / dd - 1000 < 0) 
{ 
   	// As caixas de texto sao definidas para o resultado minimo da lista.
	zero.text = 0 ;
	um.text = 1000 ;
	dois.text = 2000 ;
	tres.text = 3000 ;
	quatro.text = 4000 ;
	// Define o quanto a barra foi movimentada para esse resultado e atualiza sua posiçao.
	// No caso a barra vai para a posiçao inicial.
	zz = 0 ;
	z.text = zz ;
	barra._y = yiyi ;
	ibarra._y = barra._y ;
	yy = 0 ;
	y.text = yy ;
} 

//Testa se o numero da ultima linha passará do numero maximo.
else if (zz * bb / dd + 5000 > bbb) 
{ 
   	// As caixas de texto sao definidas para o resultado maximo da lista.
	zero.text = bbb - 4000 ;
	um.text = bbb - 3000 ;
	dois.text = bbb - 2000 ;
	tres.text = bbb - 1000 ;
	quatro.text = bbb ;
	// Define o quanto a barra foi movimentada para esse resultado e atualiza sua posiçao.
	zz = dd ;
	z.text = zz ;
	barra._y = Math.round(zz + yiyi) ;
	ibarra._y = barra._y ;
	yy = barra._y - yiyi ;
	y.text = yy ;
} 

//Atualiza o resultado das linhas da lista segundo a posiçao atual da barra que esta armazenada em zz.
else
{
	zero.text = Math.round((zz * bb / dd) / 1000) * 1000 ;
	um.text = Math.round((zz * bb / dd + 1000) / 1000) * 1000 ;
	dois.text = Math.round((zz * bb / dd + 2000) / 1000) * 1000 ;
	tres.text = Math.round((zz * bb / dd + 3000) / 1000) * 1000 ;
	quatro.text = Math.round((zz * bb / dd + 4000) / 1000) * 1000 ;
}

stopDrag();
} ;

 

 

Download do .swf deste código:

http://www.4shared.com/document/zcCYzYeE/Lista.html

obs: o quadrado rosa é a ibarra

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.