| Accueil | table JavaScript | index JavaScript | précédent | suivant |

Exemple - formatage des nombres

Voici comme deuxième exemple, un script qui permet de formater un nombre comme le fait la fonction number_format de PHP. Il ajoute à la classe Number la méthode format(--) :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Titre de cette page : exemple04</title>
<meta name="description" content="Phrase décrivant clairement cette page" />
<meta name="keywords" content="mot1 mot2, mot3 mot4 mot5, mot6" />
<link rel="stylesheet" type="text/css" href="Jstyle01.css" />

<script type="text/javascript">

// ****** FORMATAGE D'UN NOMBRE
// site http://www.construireunsite.fr
Number.prototype.format=function(nb_dec, sep_dec, sep_group)
{
// arguments de la fonction
// nb_dec : nombre de décimales
// sep_dec : séparateur décimal
// sep_group : séparateur de groupe

// déclaration des variables utilisées
var number=String; // chaîne contenant le nombre initial arrondi
var longueur=Number; // longueur du nombre
var new_number=String; // nombre formaté
var point_pos=Number; // position du point
var N=Number; // compteur

number=this.toFixed(nb_dec); // arrondir le nombre aux décimales spécifiées
longueur=number.length;
point_pos=number.indexOf('.');
if(point_pos == -1) {point_pos=longueur;} // pas de point

// traitement de la partie entière
N=0;
new_number="";
while(N < point_pos)
{

new_number=new_number.concat(number[N]);
if((((point_pos-N-1) % 3) == 0) && (N != (point_pos-1)))
{new_number=new_number.concat(sep_group);}
N++;

}

//traitement de la partie décimale
if(point_pos < longueur) {new_number=new_number.concat(sep_dec);}
N++;
while(N < longueur)
{

new_number=new_number.concat(number[N]);
if((((N-point_pos) % 3) == 0) && ((N-point_pos) >= 3) && (N < (longueur-1)))
{new_number=new_number.concat(sep_group);}
N++;

}

// renvoyer la chaîne finale
return new_number;

} // fin de la fonction
</script>

</head>

<body>
<!-- Jscript04 -->
<div id="cadre1">
<h2>Formatage d'un nombre</h2>
<p class="texte1">
<script type="text/javascript">

var C1=38561226.895656;
var C2=3268.45;
var C3=356.561;
var C4=25856.256;
var C5=-58903.58;
var C6=-48;
var C7=-2792;

document.write("C1 = ", C1, "<br/>");
document.write("C1.format(4, ',', '.') = ", C1.format(4, ',', '.'), "<br/><br/>");

document.write("C2 = ", C2, "<br/>");
document.write("C2.format(3, ',', ' ') = ", C2.format(3, ',', ' '), "<br/><br/>");

document.write("C3 = ", C3, "<br/>");
document.write("C3.format(3, ',', ' ') = ", C3.format(3, ',', ' '), "<br/><br/>");

document.write("C4 = ", C4, "<br/>");
document.write("C4.format(2, ',', '.') = ", C4.format(2, ',', '.'), "<br/><br/>");

document.write("C5 = ", C5, "<br/>");
document.write("C5.format(0, ',', '.') = ", C5.format(0, ',', '.'), "<br/><br/>");

document.write("C6 = ", C6, "<br/>");
document.write("C6.format(2, ',', '.') = ", C6.format(2, ',', '.'), "<br/><br/>");

document.write("C7 = ", C7, "<br/>");
document.write("C7.format(2, ',', '.') = ", C7.format(2, ',', '.'), "<br/><br/>");

</script>
</p>
</div>


</body>
</html>


Afficher cette page



suivant