1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105
| <?xml version="1.0" encoding="iso-8859-1"?>
<!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>
<title></title>
<script type="text/javascript" src="formater.js"></script>
<script type="text/javascript">
<!--
function trim(string)
{
return string.replace(/(^\s*)|(\s*$)/g,'');
}
function pad(obj, lg, caractere, sens)
{
while(obj.length < lg)
{
obj = (sens == "gauche") ? caractere + obj : obj + caractere;
}
return obj;
}
function formater(valeur, nbDecim, sepDecim, sepMillier)
{
//-- cette fonction formate les valeurs numériques en fonction du nb décimales -------
//-- d'un séparateur décimal et d'un séparateur de milliers paramètrables ------------
//-- ex : 12.5 donnera 12.50 avec 2 décim. et 12.500 avec 3 --------------------------
if ((valeur == "") || (sepDecim == "")) return;
if (nbDecim == "") nbDecim = 0;
//-- suppression des espaces dans la valeur saisie -------------------------------
var aRemplacer = /\s/g;
var tmp = valeur.replace(aRemplacer, "");
//-- si le séparateur de la valeur saisie = "," remplacement par "." ---------
var aRemplacer = /,/g;
var tmp = tmp.replace(aRemplacer, ".");
var arrondi = Math.pow(10, nbDecim);
var nombre = Math.round(tmp * arrondi, 0).toString();
var debut = nombre.substr(0, (nombre.length - nbDecim));
var fin = nombre.substr(nombre.length - nbDecim);
if (sepMillier != "")
{
if (debut.length % 3 != 0)
{
var lg = debut.length + (3 -(debut.length % 3));
debut = pad(debut, lg, " ", "gauche");
}
var tmp = "";
for (var i = 0 ; i < lg ; i +=3)
{
tmp += debut.slice(i, 3 + i) + sepMillier;
}
debut = trim(tmp);
}
var str_nombre = debut + sepDecim + fin;
document.test.sortie.value = str_nombre;
}
//-->
</script>
</head>
<body onload="document.test.entree.focus();">
<form name="test" id="test" method="post" action="">
<table>
<tr>
<td>Nombre de décimales</td>
<td>
<input type="text" name="nbdecim" id="nbdecim" value="3" />
</td>
</tr>
<tr>
<td>Séparateur des décimales</td>
<td>
<input type="text" name="sepdecim" id="sepdecim" value="," />
</td>
</tr>
<tr>
<td>Séparateur des milliers</td>
<td>
<input type="text" name="sepmille" id="sepmille" value=" " />
</td>
</tr>
<tr>
<td>Valeur</td>
<td>
<input type="text" name="entree" id="entree" value="12 34 56 0.7894546" />
</td>
</tr>
<tr>
<tr>
<td>Valeur arrondie</td>
<td>
<input type="text" name="sortie" id="sortie" style="tet-align:right" value="" />
</td>
</tr>
<tr>
<td>
<input type="button" name="essai" id="essai" value="Tester" onclick="formater(this.form.entree.value, this.form.nbdecim.value, this.form.sepdecim.value, this.form.sepmille.value);"/>
</td>
</tr>
</table>
</form>
</body>
</html> |
Partager