Dans JS, si vous utilisez généralement la fonction tofixée si vous conservez n bits après le point décimal, vous pouvez utiliser le
La copie de code est la suivante:
<script linguisse = "javascript">
document.write ("<h1> js conserve deux nombres décimaux exemple </h1> <br>");
var a = 2,1512131231231321;
Document.Write ("Valeur d'origine:" + a + "<br>");
Document.Write ("Deux points décimaux:" + a.tofixed (2) + "<br> quatre points décimaux" + a.tofixed (4));
</cript>
Fonction de conversion arrondie, comme suit:
La copie de code est la suivante:
fonction ronde (v, e) {
var t = 1;
pour (; e> 0; t * = 10, e--);
pour (; e <0; t / = 10, e ++);
return math.round (v * t) / t;
}
Dans les paramètres:
V signifie la valeur à convertir
e indique le nombre de chiffres à conserver
Les deux pour dans la fonction, c'est le point clé.
Le premier pour le cas où le point décimal est du côté droit, c'est-à-dire combien de chiffres sur le côté droit du point décimal sont conservés;
Le second est pour le cas sur le côté gauche du point décimal, c'est-à-dire combien de chiffres sur le côté gauche du point décimal sont conservés.
La fonction de FOR est de calculer la valeur de T, c'est-à-dire le multiple du nombre de fois V doit être agrandi ou réduit (multiple = t).
Car ici utilise deux caractéristiques dans pour, un jugement conditionnel et une contre-accumulation (boucle),
Lorsque E répond à la condition, pour les continues, et que E s'accumule à chaque fois (E est de créer une condition qui ne répond pas au cycle), la valeur de T est également calculée.
Enfin, la méthode ronde native est utilisée pour calculer le résultat du V agrandi / rétrosable, puis le résultat est agrandi / rétrosable au multiple correct.
Voici divers exemples de nombres conservés à deux chiffres
La copie de code est la suivante:
<script type = "text / javascript">
// conserve deux décimales
// Fonction: Numéro de point flottant rond et prenez 2 décimales après le point décimal
fonction todécimal (x) {
var f = parsefloat (x);
if (isnan (f)) {
retour;
}
f = math.round (x * 100) / 100;
retour f;
}
// Le système conserve 2 décimales, tels que: 2, 00 seront ajoutés après 2, c'est-à-dire que 2,00 seront ajoutés.
fonction todecimal2 (x) {
var f = parsefloat (x);
if (isnan (f)) {
retourne false;
}
var f = math.round (x * 100) / 100;
var s = f.toString ();
var rs = s.indexof ('.');
if (rs <0) {
RS = S.Length;
S + = '.';
}
while (s.length <= rs + 2) {
S + = '0';
}
retour s;
}
fonction fomatfloat (src, pos) {
return math.round (src * math.pow (10, pos)) / math.pow (10, pos);
}
// Arrondi
alerte ("Réserve 2 décimales:" + todécimal (3.14159267));
alerte ("forcé de conserver 2 décimales:" + todécimal2 (3.14159267));
alerte ("Réserve 2 décimales:" + todécimal (3.14559267));
alerte ("forcé de conserver 2 décimales:" + todécimal2 (3.15159267));
alerte ("Réserve 2 décimales:" + fomatfloat (3.14559267, 2));
alerte ("Réserve 1 décimal:" + fomatfloat (3.15159267, 1));
// cinq tours et six tours
alerte ("Réserve 2 décimales:" + 1000.003.tofixé (2));
alerte ("Réserve 1 décimal:" + 1000.08.tofixé (1));
alerte ("Réserve 1 décimal Place:" + 1000.04.tofixé (1));
Alerte ("Réserve 1 décimal:" + 1000.05.tofixé (1));
// Compte scientifique
alerte (3.1415.toexponentiel (2));
alerte (3.1455.ponentiel (2));
alerte (3.1445.Texponentiel (2));
alerte (3.1465.Texponentiel (2));
alerte (3.1665.Texponentiel (1));
// exactement à la position n, sans position n
alerte ("exactement au deuxième point décimal" + 3.1415.Toprecision (2));
alerte ("exactement à la troisième décimale" + 3.1465.Toprecision (3));
alerte ("exactement au deuxième point décimal" + 3.1415.Toprecision (2));
alerte ("exactement au deuxième point décimal" + 3.1455.Toprecision (2));
alerte ("exactement à la 5e décimale" + 3.141592679287.Toprecision (5));
</cript>
Ce qui précède est tout le code. Est-ce super simple? J'espère que ce sera utile à tout le monde