Maison > Problème commun > js arrondi

js arrondi

百草
Libérer: 2023-07-04 10:07:03
original
19001 Les gens l'ont consulté

Méthodes d'arrondi js : 1. méthode tofixed, qui peut arrondir le nombre à un nombre avec des décimales spécifiées ; 2. méthode round(), qui peut arrondir un nombre à l'entier le plus proche.

js arrondi

1, méthode tofixed

La méthode toFixed() peut arrondir le nombre à un nombre avec des décimales spécifiées. Par exemple, si la donnée Num est conservée à 2 décimales, elle est exprimée comme suit : toFixed(Num) ; toutefois, les règles d'arrondi sont différentes de celles utilisées en mathématiques. Méthode d'arrondi du banquier , son essence est une méthode d'arrondi à cinq pour obtenir un résultat pair (également connu sous le nom d'arrondi à cinq et de départ pair). Les règles spécifiques sont les suivantes :

Pour faire simple : pensez à arrondir à cinq. Si le nombre après cinq n'est pas zéro, ajoutez un. Si le nombre après cinq est zéro, ce sera impair ou pair. avant que cinq soit pair, il doit être écarté. Si le nombre avant cinq est impair, il doit être arrondi à un.

Évidemment, cette règle n'est pas conforme à la manière dont nous traitons habituellement les données. Afin de résoudre ce problème, vous pouvez personnaliser l'implémentation à l'aide de la méthode Math.round pour spécifier le nombre de bits de données à conserver pour le traitement.

2, méthode round

La méthode round() peut arrondir un nombre à l'entier le plus proche. Par exemple : Math.round(x) prend x à l’entier le plus proche. La méthode d'arrondi est utilisée dans la méthode d'arrondi, qui est conforme aux règles d'arrondi en mathématiques. Le traitement des décimales n'est pas si pratique, mais un traitement personnalisé peut être effectué selon différentes exigences.

Par exemple : pour traiter X avec deux décimales, vous pouvez utiliser Math.round(X * 100) / 100 pour le traitement.

Autre contenu :

En JavaScript, les scénarios d'arrondi des valeurs sont les suivants :

Arrondi vers le haut : ceil Arrondi vers le bas : sol Arrondi : round Précision fixe : toFixed Longueur fixe : toPrecision Arrondi : parseInt, opération sur les bits

Cet article expliquera et résumera brièvement ces 6 API.

1. Arrondir : ceil

ceil signifie « plafond », ce qui signifie l'entier au-dessus d'une valeur et le plus proche du nombre. ceil est une méthode statique de l'objet Math et doit passer un paramètre. La méthode d'appel est la suivante :

Math.ceil(12.34); //13Math.ceil(12.68); down : floor

floor signifie « floor », ce qui signifie l'entier le plus proche sous une valeur. floor est une méthode statique de l'objet Math et doit passer un paramètre. La méthode d'appel est la suivante :

Math.floor(12.34); // 12Math.floor(12.68); // 12

3. : round

round La fonction est d'arrondir un nombre à virgule flottante et de conserver les chiffres entiers. round est également une méthode statique de l'objet Math et doit également passer un paramètre. Sa méthode d'appel est la suivante :

Math.round(12.34); // 12Math.round(12.54); . Précision fixe : toFixed

toFixed est différente des trois méthodes ci-dessus. C'est une méthode implémentée sur le prototype Number. Sa fonction est d'arrondir un nombre à virgule flottante et de conserver des décimales fixes. toFixed doit passer un paramètre et sa méthode d'appel est la suivante :


100.456001.toFixed(2); // 100.46100.456001.toFixed(3); // 100.456

5. est également sur le prototype Number Une méthode implémentée pour traiter les nombres à virgule flottante Différente de toFixed, elle arrondit un nombre à virgule flottante et conserve une longueur fixe de chiffres significatifs, y compris la partie entière.

99.456001.toPrecision(5); // 99.456100.456001.toPrecision(5); // 100.46


6. Arrondi : parseInt

parseInt est une méthode sur la fenêtre d'objet globale, et sa fonction est de convertir La valeur est arrondie, divisée dans les deux situations suivantes :

1. Convertissez la valeur de la chaîne en un nombre entier et convertissez chaque caractère de la chaîne jusqu'à ce qu'un caractère non convertible (y compris le point décimal) soit rencontré.


2. Arrondissez les valeurs de type virgule flottante, ignorez la partie décimale et n'arrondissez pas

// String value parseInt('100'); // 100parseInt('100axt'); ; Effectuez une opération OU au niveau du bit, la valeur d'origine reste inchangée ~~ : La valeur d'origine obtenue par deux opérations NON au niveau du bit est également la valeur d'origine>> 0 : Décalage vers la droite de 0 bits<< >> 0 : décalage à droite non signé de 0 bits

Ces opérateurs au niveau du bit présenteront certaines caractéristiques communes lors de l'implémentation des opérations d'arrondi :

Pour le type Number, les résultats obtenus en appliquant directement des opérations sur les bits sont presque les mêmes que parseInt ; pour d'autres types, il est converti en interne en une valeur numérique via Number() avant que les opérations sur les bits ne soient appliquées. Lorsque des opérations sur bits sont appliquées aux valeurs spéciales NaN et Infinity, les deux valeurs sont traitées comme 0.

Pour le type Nombre, les opérations sur les bits sont appliquées directement.

~~ 100,12;

Pour les autres types, utilisez d'abord Number() pour convertir en type numérique, puis effectuez des opérations sur les bits.

~~ '100.12' // 100, Nombre('100.12') == 100.12'100.50' << ; // 100, Nombre('100.96') == 100.96~~ 'abc' // 0, Nombre('abc') == NaN'12abc' >> ) == NaNundéfini | 0 ; // 0, Nombre(non défini) == NaN~~null; // 0 , Nombre(null) == 0vrai >> >> 0; //0 , Nombre (faux) == 0[] << ; 0; // 0

Les opérations au niveau du bit fonctionnent au niveau le plus élémentaire, c'est-à-dire qu'elles opèrent sur des valeurs basées sur les bits en mémoire qui représentent la valeur.

La raison pour laquelle les opérations sur bits peuvent être arrondies est la suivante :

Les nombres dans ECMAScript sont stockés sous forme de nombres à virgule flottante double précision 64 bits, mais les opérations sur bits ne peuvent être appliquées qu'à des entiers, donc les nombres à virgule flottante 64 bits doivent être converti en entiers de 32 bits, puis effectuez des opérations sur les bits et enfin convertissez les résultats du calcul en nombres à virgule flottante de 64 bits pour le stockage.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal