Tom's Guide > Forum > Programmation > pb en prog pour html
pb en prog pour html - Programmation
TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique. Pour obtenir de l'aide, inscrivez-vous gratuitement !
Mot :    Pseudo :           
 

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
Baptiste PIARD


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[nom].select();
}
function Frac(n){

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

Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

un petit up
s'il vous plait

Répondre à bartiste

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)

Répondre à arod@IDN

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!

Répondre à bartiste
- 0 +

y'a aussi la fonction Math.ceil() qui renvoie le plus petit entier supérieur à la valeur.
Ex : 2,3=>3

Répondre à OmaR
Tom's Guide > Forum > Programmation > pb en prog pour html
Aller à :

Il y a 1247 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens