Привет, надеюсь, это поможет,
myTextField1.text = formatCost(String(4813.134),2,"$",0);// result: $ 4,813.13
Функция довольно проста, мы вызываем функцию formatCost()
Если вы просто хотите отформатировать его до 0 десятичных знаков, formatCost(value as string,0)
Если вам нужна валюта, добавьте ее в качестве третьего параметра.
Если вам нужно, чтобы символ был за цифрой, установите позицию в 1
Итак ...
formatCost(String(8/35*100),1,"%",1);// will give "22.9 %"
при желании вы можете добавить больше к формуле, чтобы 5-я переменная могла быть спейсером, чтобы вы могли изменить ее с "," на "." (для французского) или как пробел ""
public function formatCost(v:String,
decimal_places:int = 2,
currency_symbol:String = "",
placement:int = 0){
v = String(Number(v).toFixed(decimal_places));
var result:String = new String();
if(decimal_places == 0){
}else{
result = v.substr(-1-decimal_places);
v = v.substr(0, v.length-1-decimal_places);
}
while( v.length > 3 ){
result = "," + v.substr(-3) + result;
v = v.substr(0, v.length-3);
}
if(v.length > 0){
if(placement == 0){
result = currency_symbol + " " + v + result;
}else if(placement == 1){
result = v + result + " " + currency_symbol;
}else{
result = v + result;
}
}
return result;
}//closes formatCost