Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Formato valuta

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    44

    Formato valuta

    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!

  2. #2
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    credo proprio che non ci sia bisognerebbe farsela ad hoc

    forse una cosa del genere... non ho la possibilità di provarla, quindi pazienta se non dovesse funzionare al primo colpo

    Codice PHP:
    var euroVal:Function = function(val:Number):String {
        var 
    temp:Array = val.toString().split(".");
        (
    temp.length 1) ? temp[1] = temp[1].substring(02) : null;
        return 
    "€ "+temp[0]+","+temp[1];

    la usi così

    Codice PHP:
    var miaValuta euroVal(10.52);
    trace (miaValuta); // output: € 10,52 

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    44
    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(02);
            }
        }

    Non sei veramente finito fino a quando hai una buona storia da parte e qualcuno a cui raccontarla!

  4. #4
    Utente di HTML.it L'avatar di byaur
    Registrato dal
    Aug 2004
    Messaggi
    1,061
    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)

    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)); 
    se serve...
    Chi di noi non vorrebbe
    sollevare il velo sotto cui sta nascosto il
    futuro...
    David Hilbert

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.