Rechercher : dans
Par :

Pb d'arrondi en javascript

Dernière réponse le 22 sep 2009 à 23:18:59 Sabi, le 22 oct 2001 à 11:04:30 
 Signaler ce message aux modérateurs

Bonjour,

Je souhaiterai arrondir le résultat d'un calcul à 2 chiffres après la virgule. Existe-il une fonction javascript qui effectue cette opération?
Sinon, comment puis-je faire cela?

Merci d'avance.

Meilleures réponses pour « Pb d'arrondi en javascript » dans :
Javascript - Les événements Voir Qu'appelle-t-on un événement? Les événements sont des actions de l'utilisateur, qui vont pouvoir donner lieu à une interactivité. L'événement par excellence est le clic de souris, car c'est le seul que le HTML gère. Grâce au Javascript il est...
Javascript - Modifier la hauteur (height) d'un élément HTML VoirPour modifier la hauteur d'un élément HTML en javascript, il suffit d'utiliser sa propriété de style "height". Pour cela vous pouvez y faire référence de la manière suivante : Si vous souhaitez connaître la hauteur (height) d'un bloc HTML, il...
Javascript - Librairies d'effets pour vos images VoirAu gré de vos explorations du web, vous avez vu de superbes effets de présentation des images. Et ça vous plairaît bien de pouvoir proposer les mêmes à vos visiteurs. Voici quelques solutions en Javascript couplées à des CSS. Elles sont plus...
Javascript - Les variables VoirLe concept de variable Une variable est un objet repéré par son nom, pouvant contenir des données, qui pourront être modifiées lors de l'exécution du programme. En Javascript, les noms de variables peuvent être aussi long que l'on désire,...
Javascript - L'objet Date VoirLes particularités de l'objet Date L'objet Date permet de travailler avec toutes les variables qui concernent les dates et la gestion du temps. Il s'agit d'un objet inclus de façon native dans Javascript, et que l'on peut toujours utiliser. La...
Javascript - l'objet Array VoirLes particularités de l'objet Array L'objet Array est un objet du noyau Javascript permettant de créer et de manipuler des tableaux. Voici la syntaxe à utiliser pour créer une variable tableau : var x = new Array(element1[, element2, ...]); Si...

1

Bobinours, le 22 oct 2001 à 15:12:05
  • +5

Voici une excellente reponse du forum ALL HTML posté par alakazoo_:

Entre <BODY> et </BODY> :
<SCRIPT LANGUAGE=JavaScript>
monchiffre = -75.1598756421;
/* Le chiffre */
document.write('Mon chiffre : '+monchiffre+'<BR>');
/* arrondir */
document.write('Mon chiffre arrondi : '+ Math.round(monchiffre)+'<BR>');
/* valeur absolue */
document.write('Valeur absolue de mon chiffre : '+ Math.abs(monchiffre)+'<BR>');
/* arrondir a l'entier superieur */
document.write('Mon chiffre arrondi à l\'entier superieur : ' + Math.ceil(monchiffre)+'<BR>');
/* arrondir a l'entier inferieur */
document.write('Mon chiffre arrondi à l\'entier inferieur : ' + Math.floor(monchiffre)+'<BR>');
/* arrondir a deux chiffres apres la virgule, facon bidouille ;) */
document.write('Mon chiffre arrondi à deux chiffres : ' + (Math.round(monchiffre*100))/100+'<BR>');

</SCRIPT>

Exemple:
Mon chiffre : -75.1598756421
Mon chiffre arrondi : -75
Valeur absolue de mon chiffre : 75.1598756421
Mon chiffre arrondi à l'entier superieur : -75
Mon chiffre arrondi à l'entier inferieur : -76
Mon chiffre arrondi à deux chiffres : -75.16

-------------------------------------
alakazoo_
-------------------------------------

-= Bobinours =-

Répondre à Bobinours

2

dodo ucl, le 29 jan 2008 à 18:37:22
  • +1

La methode la plus simple est d'utiliser toPrecision(n) avec n le nombre de chiffre significatif ou toFixed(n) avec n le nombre de chiffre significatif

Répondre à dodo ucl

3

 ZemilZed, le 22 sep 2009 à 23:18:59

Une methode JavaScript équivalente à number_format de PHP :

/*------------ Script by ZemilZed --------------*/

// NUMBER_FORMAT EN JAVASCRIPT--------------------------------------------------­----
Number.prototype.number_format = function() { // la déclaration des variables correspond à l'ordre des arguments
var nbDecimales = 2, sepDecimales = '.', carSepMilliers = ','; // les valeurs par défaut des arguments
var nbArgs = arguments.length; // le nombre d'arguments
if (isNaN(this) || !(new RegExp('0|1|3', 'g').test(nbArgs))) return false; // si la valeur recue n'est pas numérique ou que je n'ai pas un nombre cohérent d'arguments
switch (nbArgs) { // selon le nombre d'arguments
case 3: sepDecimales = arguments[1]; carSepMilliers = arguments[2]; // 3 = séparateur milliers, 2 = sép décimale,
case 1: nbDecimales = parseInt(arguments[0]); // 1 = nb décimale
}
var puiss = Math.pow(10, nbDecimales); // puiss sert au calcul d'exposant pour l'arrondi à nbDecimales après sepDecimales
var intNb = parseInt(this), intStr = intNb.toString(), n = intStr.length; // intNb = valeur entière, intStr = valeur entière format texte, n = le nombre de caractère de la valeur entière
if (!isNaN(this) && this == 0) return this + (nbDecimales ? sepDecimales + this.toFixed(nbDecimales).substr(2) : ''); // si la valeur recue est nulle
return ((n % 3 && n > 3) ? intStr.substr(0, n % 3) + carSepMilliers : ( n < 6 ) ? intStr : '') // sortie de la méthode : moins de 1000, puis découper la chaine en paquets de trois caractères,
+ ((n > 3) ? intStr.substr(n % 3).match(new RegExp('[0-9]{3}', 'g')).join(carSepMilliers) : '') // les milliers et le séparateur des milliers
+ (nbDecimales ? sepDecimales + (((Math.round(this*puiss)/puiss).toFixed(nbDecimales)).toString()).substring(n+1) : ''); // le séparateur et les décimales.
} // fin de méthode !!!

// DECLINAISON DE LA METHODE DE CONVERTION DE FORMAT NUMERIQUE----------------------
Number.prototype.nbFormatFrancais = function() { // afficher une valeur en format français
return this.number_format(arguments[0] ? arguments[0] : 2, ',', ' ');
} // fin de sous méthode
Number.prototype.nbEnglishFormat = function() { // afficher une valeur en format anglais
return this.number_format(arguments[0] ? arguments[0] : 2, '.', ',');
} // fin de sous méthode
Number.prototype.nbFormatCalc = function() { // afficher une valeur en format calculatrice
return this.number_format(arguments[0] ? arguments[0] : 2, '.', '\'');
} // fin de sous méthode

Répondre à ZemilZed
Collection CommentÇaMarche.net