Un séparateur de milliers... ca m'intéresse [html] - HTML/CSS - Programmation
Marsh Posté le 15-04-2003 à 13:47:11
a noter que j'ai une centaine de champs à convertir en une passe.
Jusqu'ici, le bouton valider de ma page génère un asp avec les valeurs saisies insérées dans un tableau.
Il faudrait donc que les valeurs qui s'insèrent dans mon tableau soient reformatées, mais sans bouton intermédiaire
merci
Marsh Posté le 15-04-2003 à 11:25:34
J'aimerai pouvoir séparer les milliers dans un champ de ce genre :
<input name="nom_de_la_variable" type="???" size="10">
Voila, j'avais "text" a la place de "???" avant, mais il n'y a pas de séparation de milliers
Existe-t-il un type spécialement créé ? Comment faire ? (si vous avz un script, merci de m'expliquer comment on l'utilise -> je suis sur le html depuis hier)
J'ai trouvé un script sinon, mais j'aimerai savoir si ya pas plus simple...
J'ai testé ca :
<HTML>
<HEAD>
<TITLE>JScript - Formatage de nombres</TITLE>
<SCRIPT LANGUAGE="JavaScript">
//D'autres scripts sur http://www.multimania.com/jscript
//Si vous utilisez ce script, merci de m'avertir !
function format(valeur,decimal,separateur) {
// formate un chiffre avec 'decimal' chiffres après la virgule et un separateur
var deci=Math.round( Math.pow(10,decimal)*(valeur-Math.floor(valeur)) );
var val=Math.abs(Math.floor(valeur));
if ((decimal==0)||(deci==Math.pow(10,decimal))) {val=Math.abs(Math.round(valeur)); deci=0;}
var val_format=val+"";
var nb=val_format.length;
for (var i=1;i<4;i++) {
if (val>=Math.pow(10,(3*i))) {
val_format=val_format.substring(0,nb-(3*i))+separateur+val_format.substring(nb-(3*i));
}
}
if (decimal>0) {
if (deci>0) {
deci=deci.toString();
} else {
deci="";
for (var j=0;j<decimal;j++) deci+="0";
}
val_format=val_format+"."+deci.substring(0);
}
if (parseFloat(valeur)<0) {val_format="-"+val_format;}
return val_format;
}
function afficher() {
var val=document.forms[0].elements["chiffre"].value;
var deci=document.forms[0].elements["decimal"].value;
document.forms[0].elements["resultat"].value=format(val,deci,document.forms[0].elements["liste"].options[document.forms[0].elements["liste"].selectedIndex].value);
}
</SCRIPT>
</HEAD>
<BODY bgcolor="#FFFFFF" text="#FAFAFF" alink="#000066" link="#000066" vlink="#000066" >
<FONT FACE="Arial" SIZE='-1' COLOR="#000000">
<BR><CENTER>
<BIG>Comment formater l'affichage de nombres :</BIG></CENTER><BR><BR>
<FORM>
Entrez un nombre : <INPUT TYPE="text" NAME="chiffre" size="14" value=12345678.234><BR><BR>
Définissez le format d'affichage :<BR>
Type de séparateur des milliers :<SELECT NAME="liste"><OPTION value=" ">Espace</OPTION><OPTION value="'">Apostrophe</OPTION></SELECT><BR>
Nombre de décimales : <INPUT TYPE="text" NAME="decimal" size="2" value=2><BR><BR>
<INPUT TYPE="button" value="Afficher" onClick=afficher()>
<INPUT TYPE="text" NAME="resultat" size=14>
</FORM>
</BODY></HTML>
<!-- Script développé par Olivier Hondermarck Mail: jscript@multimania.com -->
<!-- D'autres scripts et des conseils sur http://www.multimania.com/jscript -->
C'est pas mal, mais un peu lourd...