Se connecter / S'enregistrer
Votre question

pb en prog pour html

Tags :
  • Script
  • Javascript
  • Programmation
Dernière réponse : dans Programmation
Anonyme
7 Décembre 2006 17:39:13

bonjour,
J'aimerai faire une page html afin de calculé une moyenne un ecart-type et une étendue, je me suis basé sur une page deja existante mais qui fonctionne qu'avec des valeurs entières, alors que je voudrai pouvoir utilisé des décimal et des nombres négatifs, je bloque depuis quelques temps. Je pense que le problème est dans la fonction verifentier (voir ci-dessous).
Quelqu'un pourrait-il me depanner s'il vous plaît
merci d'avance


window.onload=montre();
//-->
</SCRIPT>
<BR><BR>
<DIV onmouseover=javascript:montre();>
<SCRIPT language=Javascript>
var somme, somCarre, NbV, val_min, val_max;

function CalculMoy() {
somme=0;
somCarre=0;
NbV=0;
val_min=0;
val_max=0;

CalculSommes(document.FormCalcul.Valeur1);
CalculSommes(document.FormCalcul.Valeur2);
CalculSommes(document.FormCalcul.Valeur3);
CalculSommes(document.FormCalcul.Valeur4);
CalculSommes(document.FormCalcul.Valeur5);


//document.FormCalcul.NbValeur.value=Math.floor(NbV);
document.FormCalcul.Moyenne.value=Math.floor(somme/NbV);
var sigma=somCarre-(somme*somme/NbV);
sigma=Math.sqrt(sigma/(NbV-1));
document.FormCalcul.Sigma.value=(Math.round(sigma*100))/100;
//document.FormCalcul.Moy3S.value=Math.floor((somme/NbV)-(3*sigma));
//document.FormCalcul.Min.value=val_min;
//document.FormCalcul.Max.value=val_max;
document.FormCalcul.Etendue.value=val_max-val_min;
return false;
}

function CalculSommes(champ) {
if (VerifEntier(champ)) {
var vv=eval(champ.value);

if (somme==0) {
val_min = vv;
}

somme+=vv;
somCarre+=vv*vv;
NbV+=1;

if (vv < val_min) {
val_min = vv;
}
if (vv > val_max) {
val_max = vv;
}
}
}

function VerifEntier(champ){
var nv=champ.value
if ((isNaN(nv))||(Frac(nv)!=0)||(nv==0)||(nv>9999)) {
champ.value="";
return false;
}
return true;
}

function Focused(nom){
document.FormCalcul.select();
}
function Frac(n){

if (n>=0){return n-Math.floor(n);}
return n-Math.ceil(n);

Autres pages sur : prog html

Anonyme
7 Décembre 2006 19:52:13

un petit up
s'il vous plait
7 Décembre 2006 20:29:29

Salut,
Math.floor récupère la valeur par troncature : 2,9 -> 2
Math.round arrondit la valeur à l'entier le plus proche.
Enlève ces fonctions de partout, ca devrait marcher. (mais j'ai pas regardé le code en détails, donc fait une copie au cas où ca marche pas)
Contenus similaires
Anonyme
13 Décembre 2006 10:34:53

en fait, j'ai deja testé sa mais cela ne donne rien la fonction verifentier suprimme toujours les valeurs du champs.
Je cherche toujours mais je ne vois toujours pas le pb!
a c 232 L Programmation
13 Décembre 2006 13:57:47

y'a aussi la fonction Math.ceil() qui renvoie le plus petit entier supérieur à la valeur.
Ex : 2,3=>3
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS