«Нулевой заполнитель» для рабочего счетчика as3 - PullRequest
0 голосов
/ 10 февраля 2010

Как сделать нулевой заполнитель для счетчика?

Моя мысль была условием "если" с большим и меньшее будет работать.

if count is more than .00 and less than 10.00, add "0000000" etc.

альтернативный текст http://www.ashcraftband.com/myspace/videodnd/icon_3.jpg

КОД"от одних из лучших умов"

//counts
var timer:Timer = new Timer(10);   
var count:int = 0; //start at -1 if you want the first decimal to be 0   
var fcount:int = 0;  

timer.addEventListener(TimerEvent.TIMER, incrementCounter);   
timer.start();   


function incrementCounter(event:TimerEvent) {  
  count++;  

  var whole_value:int = int(count / 100); //change value 
  var tenths:int = int(count / 10) % 10;   
  var hundredths:int = int(count) % 10;   

  mytext.text = whole_value + " : " + tenths + hundredths;  
} 

///////////////////////////////////////////////

//counts and accelerates
//CA, NC, LONDON "increments"
var timer:Timer = new Timer(10);  
var count:int = 0; //start at -1 if you want the first decimal to be 0  
var fcount:int = 0; 

timer.addEventListener(TimerEvent.TIMER, incrementCounter);  
timer.start();  

function incrementCounter(event:TimerEvent) {  
  count++;  
  //
  fcount=int(count*count/10000);//starts out slow... then speeds up 
  //
  var whole_value:int = int(fcount / 100); //change value 
  var tenths:int = int(fcount / 10) % 10;   
  var hundredths:int = int(fcount) % 10;   

  mytext.text = whole_value + " : " + tenths + hundredths;  
}   

альтернативный текст http://www.ashcraftband.com/myspace/videodnd/icon-3.jpg

Я делаю нули ... eeeeerrrrrrr ... не анимация, не смейся! проклинает

var timer:Timer = new Timer(10);  
var count:int = 0; //start at -1 if you want the first decimal to be 0  
var fcount:int = 0; 

timer.addEventListener(TimerEvent.TIMER, incrementCounter);  
timer.start();  

function incrementCounter(event:TimerEvent) {  
  count++;  
  //
  fcount=int(count*count/10000);//starts out slow... then speeds up 
  //
  var whole_value:int = int(fcount / 100); //change value 
  var tenths:int = int(fcount / 10) % 10;   
  var hundredths:int = int(fcount) % 10;   
////////////// 
 function formatCount(i:int):String { 

    var fraction:int = i % 100; 
    var whole:int = i / 100; 

    return ("0000000" + whole).substr(-7, 7) + "." + (fraction < 10 ? "0" : "") + fraction; 
} 

function test():void { 
    for (var i:int = 1; i<100000; i += 3) { 
        trace(i + " -> " + formatCount(i)); 
    } 
} 
//////////////
mytext.text = formatCount(whole_value + " : " + tenths + hundredths); 

 // mytext.text = whole_value + " : " + tenths + hundredths;  
}

"спасибо за помощь, ребята"

Ответы [ 4 ]

1 голос
/ 10 февраля 2010

Вот функция для форматирования, как вы хотите.

function formatCount(i:int):String {

    var fraction:int = i % 100;
    var whole:int = i / 100;

    return ("0000000" + whole).substr(-7, 7) + "." + (fraction < 10 ? "0" : "") + fraction;
}

function test():void {
    for (var i:int = 1; i<100000; i += 3) {
        trace(i + " -> " + formatCount(i));
    }
}
]]>

Пример вывода (интервал добавлен):

1     -> 0000000.01
4     -> 0000000.04
7     -> 0000000.07
10    -> 0000000.10
13    -> 0000000.13
97    -> 0000000.97
100   -> 0000001.00
103   -> 0000001.03
235   -> 0000002.35
520   -> 0000005.20
997   -> 0000009.97
1000  -> 0000010.00
1003  -> 0000010.03
99997 -> 0000999.97
0 голосов
/ 18 февраля 2010

СЧЕТЧИК МИЛЛИОНОВ С НУЛЕВЫМИ МЕСТАМИ

//CA, NC, LONDON, ED, GA "increments"
var timer:Timer = new Timer(10);  
var count:int = 0; //start at -1 if you want the first decimal to be 0  
var fcount:int = 0; 

timer.addEventListener(TimerEvent.TIMER, incrementCounter);  
timer.start();  

function incrementCounter(event:TimerEvent) {  
  count++;  
  fcount=int(count*count/10000);//starts out slow... then speeds up 
  mytext.text = formatCount(fcount);
}

function formatCount(i:int):String { 
     var fraction:int = i % 100; 
     var whole:int = i / 100;  

    return ("0000000" + whole).substr(-7, 7) + "." + (fraction < 10 ? "0" + fraction : fraction); 
} 
0 голосов
/ 10 февраля 2010

Вот краткий пример, он довольно простой, но дайте мне знать, если у вас есть какие-либо вопросы.

var n:Number = 999.99123;
var minLength:int = 15;
var s:String = n.toFixed(2);
var diff:int = minLength - s.length;

while (diff > 0) {
    s = '0' + s;
    diff--;
}

trace(s);

РЕДАКТИРОВАТЬ: Вы хотели, чтобы "десятых" всегда было 0?

0 голосов
/ 10 февраля 2010

Насколько я знаю, вам нужно сделать это самостоятельно:

Вот какой-то код .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...