Esiste in Action Script una funzione che formatta le stringhe in formato valuta?
Con simbolo di valuta (€) e i due decimali.
Ho provato a cercare sia sul forum che sulle guide ma senza successo...
Esiste in Action Script una funzione che formatta le stringhe in formato valuta?
Con simbolo di valuta (€) e i due decimali.
Ho provato a cercare sia sul forum che sulle guide ma senza successo...
Non sei veramente finito fino a quando hai una buona storia da parte e qualcuno a cui raccontarla!
credo proprio che non ci siabisognerebbe farsela ad hoc
forse una cosa del genere... non ho la possibilità di provarla, quindi pazienta se non dovesse funzionare al primo colpo
la usi cosìCodice PHP:
var euroVal:Function = function(val:Number):String {
var temp:Array = val.toString().split(".");
(temp.length > 1) ? temp[1] = temp[1].substring(0, 2) : null;
return "€ "+temp[0]+","+temp[1];
}
Codice PHP:
var miaValuta = euroVal(10.52);
trace (miaValuta); // output: € 10,52
Funziona.
L'ho migliorata un pò; ora la formattazione è valida anche per numeri con una cifra decimale o senza. Inoltre aggiunge il punto delle migliaia. Questa parte è sicuramente migliorabile perché ora funziona solo fino a 999.999 e non è nemmeno troppo 'bella'; se qualcuno ha tempo e volgia...
Per chi ne avesse bisogno:
Codice PHP:
var formatoValuta = function(val){
var migliaia = function(val){
if(val.length<=3){return val}
if(val.length==4){return val.substr(0,1)+'.'+val.substr(1,3)}
if(val.length==5){return val.substr(0,2)+'.'+val.substr(2,3)}
if(val.lenght==6){return val.substr(0,3)+'.'+val.substr(3,3)}
}
if(val.indexOf(',')==-1){
return '€ '+migliaia(val)+',00';
}else{
var temp = val.toString().split(",");
if(temp[1].length==1){
return '€ '+migliaia(temp[0])+','+temp[1]+'0';
}else{
return '€ '+migliaia(temp[0])+','+temp[1].substring(0, 2);
}
}
}
Non sei veramente finito fino a quando hai una buona storia da parte e qualcuno a cui raccontarla!
riallacciandomi a laycg ho modificato un po la funzione così ora ricorsivamente mette i punti anche a numeri con + di 6 cifre... arriva a 15(dovrebbe dipendere dalla rappresentazione numerica del player)
se serve...Codice PHP:
function formatoValuta(val2){
var val:String = new String(val2);
return '€ '+_root.formattaPunto(val)+',00';
}
function formattaPunto(val):String{
if(val.length<=3){
return val;
}
else{
var temp = val.substr(0,(val.length-3));
return formattaPunto(temp)+'.'+val.substr((val.length-3),3);
}
}
var number = 999999999999999;
trace(_root.formatoValuta(number));
![]()
![]()
Chi di noi non vorrebbe
sollevare il velo sotto cui sta nascosto il
futuro...
David Hilbert