-
Client Software Programmer
How to make numbers look similar to instagram follows or facebook likes
Will work on a shorter version soon but this code can make 1000 look like 1k, scripts good until 999.9 trillion 999.9T
PHP Code:
var types:Array = new Array("K","M","B","T");
var hits = "100000000000000";
if(hits.length == 4 && hits.charAt(1) == 0){
hits = hits.charAt(0) + _root.types[0];
}else if(hits.length == 4 && hits.charAt(1) != 0){
hits = hits.charAt(0) +"." + hits.charAt(1) + _root.types[0];
}else if(hits.length == 5 && hits.charAt(2) == 0){
hits = hits.charAt(0) + hits.charAt(1) + _root.types[0];
}else if(hits.length == 5 && hits.charAt(2) != 0){
hits = hits.charAt(0) + hits.charAt(1) + "." + hits.charAt(2) + _root.types[0];
}else if(hits.length == 6 && hits.charAt(3) == 0){
hits = hits.substr(0,3) + _root.types[0];
}else if(hits.length == 6 && hits.charAt(3) != 0){
hits = hits.substr(0,3) + "." + hits.charAt(3)+ _root.types[0];
}else if(hits.length == 6 && hits.charAt(3) != 0){
hits = hits.substr(0,3) + "." + hits.charAt(3)+ _root.types[0];
}else if(hits.length == 7 && hits.charAt(1) == 0){
hits = hits.charAt(0) + _root.types[1];
}else if(hits.length == 7 && hits.charAt(1) != 0){
hits = hits.charAt(0) + "." + hits.charAt(1) + _root.types[1];
}else if(hits.length == 8 && hits.charAt(2) == 0){
hits = hits.substr(0,2) + _root.types[1];
}else if(hits.length == 8 && hits.charAt(2) != 0){
hits = hits.substr(0,2) + "." + hits.charAt(2) + _root.types[1];
}else if(hits.length == 9 && hits.charAt(3) == 0){
hits = hits.substr(0,3) + _root.types[1];
}else if(hits.length == 9 && hits.charAt(3) != 0){
hits = hits.substr(0,3) + "." + hits.charAt(3) + _root.types[1];
}else if(hits.length == 10 && hits.charAt(1) == 0){
hits = hits.substr(0,1) + _root.types[2];
}else if(hits.length == 10 && hits.charAt(1) != 0){
hits = hits.substr(0,1) +"." + hits.charAt(1) + _root.types[2];
}else if(hits.length == 11 && hits.charAt(2) == 0){
hits = hits.substr(0,2) + _root.types[2];
}else if(hits.length == 11 && hits.charAt(2) != 0){
hits = hits.substr(0,2) +"." + hits.charAt(2) + _root.types[2];
}else if(hits.length == 12 && hits.charAt(3) == 0){
hits = hits.substr(0,3) + _root.types[2];
}else if(hits.length == 12 && hits.charAt(3) != 0){
hits = hits.substr(0,3) + "." + hits.charAt(3) + _root.types[2];
}else if(hits.length == 13 && hits.charAt(1) == 0){
hits = hits.substr(0,1) + _root.types[3];
}else if(hits.length == 13 && hits.charAt(1) != 0){
hits = hits.substr(0,1) + "." + hits.charAt(1) + _root.types[3];
}else if(hits.length == 14 && hits.charAt(2) == 0){
hits = hits.substr(0,2) + _root.types[3];
}else if(hits.length == 14 && hits.charAt(2) != 0){
hits = hits.substr(0,2) + "." + hits.charAt(2) + _root.types[3];
}else if(hits.length == 15 && hits.charAt(3) == 0){
hits = hits.substr(0,3) + _root.types[3];
}else if(hits.length == 15 && hits.charAt(3) != 0){
hits = hits.substr(0,3) + "." + hits.charAt(3) + _root.types[3];
}
testfield.text = hits;
-
PHP Code:
var i:Number;
var size:Number;
function doNumber(number:Number, decimals:Number):Number
{
decimals = Math.pow(10, decimals);
var letter:Array = ["K", "M", "B", "T"];
for (i = letter.length - 1; i >= 0; i--)
{
size = Math.pow(10, (i + 1) * 3);
if (size <= number)
{
number = Math.round(number * decimals / size) / decimals;
if ((number == 1000) && (i < letter.length - 1))
{
number = 1;
i++;
}
number += letter[i];
break;
}
}
return number;
}
var hits:Number = 123458712458209;
trace(doNumber(hits, 1));
trace(doNumber(hits, 3));
trace(doNumber(hits, 5));
trace(doNumber(hits, 10));
-
Client Software Programmer
-
Client Software Programmer
4 lines shorter than your code:
PHP Code:
function doNumber(a,b):Number { var units:Array = ["K","M","B","T"]; for(i=units.length-1;i>=0;i--){ if((Math.pow(10, (i + 1) * 3))<=a){ a=Math.round(a*Math.pow(10,b)/(Math.pow(10,(i+1)*3)))/Math.pow(10,b); if((a==1000)&&(i<units.length-1)){ a=1; i++; } a+=units[i]; break; } } return a; } var hits:Number=1550000; trace(doNumber(hits,1)); trace(doNumber(hits,3)); trace(doNumber(hits,5)); trace(doNumber(hits,10));
Last edited by AS3.0; 12-23-2015 at 02:58 PM.
-
wow,
you delete line spaces and make var name changes and mix decimals with other math.
I wish you use format code button too....
When you learn array good alloy and manage multi dimensional object arrays (OOP - xenomaren is asking for this) then you will go back over all your codes (probably you game too) you have done before and do it again properly, wee see.
compare you first post code with you last post here.
-
Client Software Programmer
Maybe one day ill be like you
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|