Arrondire résultat avec Math.round

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Arrondire résultat avec Math.round

par tibious » 17 déc. 2008, 00:25

Merci pour la réponse.
J'adore ce site, on donne une solution et on explique : un coup de main pédagogique.
Bravo!

par Berzemus » 16 déc. 2008, 16:23

Code : Tout sélectionner

function calcul(surf) { document.getElementById('result').innerHTML = surf * 5 }
La logique élémentaire dirait, "la ou tu en as besoin". Tu en a besoin ou ? C'est le résultat de "surf * 5" qui doit être arrondi ? surf prend des valeurs flottantes (avec des virgules dedans) ? Es-tu sur que "surf' contient à chaque fois un nombre flottant ?

Modifions un peu ta fonction, d'abord en vérifiant que surf est bien du type float, et en rendant le tout plus lisible pour aider à la compréhension.

Code : Tout sélectionner

function calcul(surf) { data = parseFloat(surf); // Hop, même si surf n'est pas un flottant, il le devient ! resultat_brut = data * 5; // On fait le calcul, et on a le résultat brut. resultat_arrondi = Math.round(resultat_brut); // Et voilà, l'arrondi (le plus proche) est effectué. document.getElementById('result').innerHTML = resultat_arrondi; }
Bien sur, pour faire les malins, on pourrait rendre tout ça sur une ligne:

Code : Tout sélectionner

function calcul(surf) { document.getElementById('result').innerHTML = Math.round(parseFloat(surf) * 5); }

par tibious » 16 déc. 2008, 15:32

<script type="text/javascript">
function calcul(surf)
{
document.getElementById('result').innerHTML = surf * 5
}
</script>


<form id="form" action="" method="post">
Surface :<br>
<input type="text" name="surf" id="surf" value="" size="15" maxlength="40" onkeyup="calcul(this.value);" /> <span id="result"></span>
</form>
Voila le code et justement, la question est ou mettre et comment Math.round()

par Berzemus » 16 déc. 2008, 14:49

On peut voir le code, un peu ? Je ne vois pas trop ou tu as essayé de mettre Math.round() dans ta question...

Arrondire résultat avec Math.round

par tibious » 16 déc. 2008, 12:18

Bonjour à tous, suite à la réponse d'hier soir nous essayons d'arrondir le résultat avec "Math.round" mais nous n'arrivons pas à l'écrire:
<input type="text" name="surf" id="surf" value="" size="15" maxlength="40" onkeyup="calcul(this.value);" /> <span id="result"></span>
Merci d'avance pour votre aide.