PHPascal.com

PHPAscal rouge2 (Version bleu)


Programmation web CSS HTML PHP Jquery Javascript Wordpresse RSS SQL SSH, serveur linux Outils
  PHPascal a 147 articles


Recherche


cheap nike nfl jerseysWholesale cheap nfl jerseyscheap jerseys online from chinacheap nfl jerseys free shippingwholesale nba jerseysWholesale cheap nhl jerseyscheap nhl jerseys onlinecheap nba basketball jerseys

Valid HTML 5

Programmation web / Javascript / formatage d'un nombre javascript en prix

Script JS pour formater un prix a partir d'une valeur rationnel ou irrationnel

Voici un petit script simple pour faire ce travail :


<script language="javascript"  type="text/javascript">



//alert('Math.PI = ' + formatage_nombre(Math.PI));
//alert('12345.6789 = ' + formatage_nombre(12345.6789 ));
//alert('999999999 = ' + formatage_nombre(999999999));
//alert('-00001 = ' + formatage_nombre(-00001));
//alert('"6000123" = ' + formatage_nombre("6000123" ));
//alert('Rien = ' + formatage_nombre('Rien'));
//alert('Rien 2 = ' + formatage_nombre());


/*
* formatage du nombre en prix marche avec nombre entre -999999999 et 999999999
* @param float nombre a formater
* @return string nombre formater ($0.00 si nombre invalide recu)
*/
function formatage_nombre(fltNombre)
{
    try
    {
        var intTemp = 0;
       
        var fltNombre = parseFloat(fltNombre);
        if (isNaN(fltNombre)) fltNombre = 0;
       
        var fltNb = fltNombre;
       
        var strNb = '$ ';
       
        //  si negatif on met le signe - et on remet en positif
        if (fltNb < 0)
        {
            strNb += '-';
            fltNb = Math.abs(fltNb);
            fltNombre = Math.abs(fltNombre);
        }
       
        // affichage des millions au besoin
        if (fltNb >=  1000000)
        {
            intTemp = Math.floor(fltNb / 1000000);
            fltNb -= (intTemp * 1000000);
           
            if (intTemp < 100 && fltNombre >= 1000000000) strNb += '0';
            if (intTemp < 10 && fltNombre >= 1000000000) strNb += '0';
            if (intTemp == 0 && fltNombre >= 1000000000) strNb += '0';
           
            strNb += intTemp;
            strNb += ',';
            // si un nombre avec des million mais pas de millier on écrit ici 00 pour les milier ex: 6000123
            if (fltNb < 1000) strNb += '000,';
           
        }
       
        // affichage des millier
        if (fltNb >=  1000)
        {
            intTemp = Math.floor(fltNb / 1000);
            fltNb -= (intTemp * 1000);
            if (fltNombre >= 1000000)
            {
                if (intTemp < 100) strNb += '0';
                if (intTemp < 10) strNb += '0';
                if (intTemp == 0) strNb += '0';
            }
            strNb += intTemp;
            strNb += ',';
        }
       
        //alert('fltNombre = ' + fltNombre + '\n fltNb = ' + fltNb);
       
       
        // affichage des centaines
        if (fltNombre >= 1000)
            {
                if (fltNb < 100) strNb += '0';
                if (fltNb < 10) strNb += '0';
            }
        fltNb.toFixed(2);
        strNb += fltNb.toFixed(2);
       
       
        return strNb;
   
    }
    catch(e)
    {
    alert('Erreur formatage_nombre \n' + e.message);
    }

}

</script>
Article écrit le 1 août 2009
Article modifié le 1 août 2009

Autres articles sous la même catégorie


Pascal Dubreuil | © PHPascal.com 2024
Temps d'exécution : 0.0068 sec
Imprimer le 21 November 2024 - 04:43:47
par Pascal Dubreuil organisateur du Marathon roller du Canada