Maison >interface Web >js tutoriel >Quelles sont les méthodes pour convertir du javascript en entiers ?

Quelles sont les méthodes pour convertir du javascript en entiers ?

醉折花枝作酒筹
醉折花枝作酒筹original
2021-07-21 15:06:043818parcourir

Les méthodes pour convertir JavaScript en entiers sont : 1. Utilisez la méthode parseInt(), le format de syntaxe est "parseInt (chaîne, la base du nombre à analyser)" ; , le format de syntaxe est "Math. trunc(value)".

Quelles sont les méthodes pour convertir du javascript en entiers ?

L'environnement d'exploitation de ce tutoriel : système Windows 7, JavaScript version 1.8.5, ordinateur Dell G3.

Cet article énumérera et expliquera les méthodes liées à JavaScript pour convertir un nombre (ou un objet numérique) en un entier.

Utilisez parseInt

La syntaxe de parseInt est la suivante : parseInt(string, radix)

La chaîne de paramètre représente la chaîne à analyser, ou elle peut être un objet, et la fonction toString de l'objet sera automatiquement appelée pour que la chaîne soit analysée.

Le deuxième paramètre de parseInt peut spécifier la base du nombre à analyser. Notez que la valeur est comprise entre 2 et 36. Si le paramètre est inférieur à 2 ou supérieur à 36, parseInt() renverra NaN. Par exemple, dans le code suivant, le résultat est 8, ce qui peut facilement convertir d'autres nombres de base en nombres décimaux :

parseInt(10,8) // 结果为8

Lorsque la valeur de la base du paramètre est 0, ou que le paramètre n'est pas défini, parseInt() Le la base du nombre sera déterminée en fonction de la chaîne.

Par exemple, si la chaîne commence par "0x", parseInt() analysera le reste de la chaîne en entiers hexadécimaux. Si une chaîne commence par 0, ECMAScript v3 permet à une implémentation de parseInt() d'analyser les caractères suivants sous forme de chiffres octaux ou hexadécimaux. Si la chaîne commence par un nombre compris entre 1 et 9, parseInt() l'analysera en un entier décimal.

Notes

1. Seul le premier numéro de la chaîne sera renvoyé. Qu'est-ce que cela signifie ? Si la chaîne d'entrée est "123abc", "123,123", alors le résultat est 123 et la méthode parseInt ignorera automatiquement les parties non numériques suivantes.

2. Les espaces au début et à la fin de la chaîne de saisie sont autorisés.

3. parseFloat a également les deux caractéristiques ci-dessus, mais cet article ne s'y concentrera pas.

L'utilisation de la méthode Math.trunc

Math.trunc() supprimera la partie décimale du nombre et ne conservera que la partie entière. Par exemple, le code suivant :

Math.trunc(13.37)    // 13
Math.trunc(42.84)    // 42
Math.trunc(0.123)    //  0
Math.trunc(-0.123)   // -0
Math.trunc("-1.123") // -1
Math.trunc(NaN)      // NaN
Math.trunc("foo")    // NaN
Math.trunc()         // NaN

Lorsque le type entrant n'est pas un nombre, il effectuera automatiquement une conversion addictive. Mais s'il s'agit d'un paramètre non numérique, NaN est renvoyé.

Le navigateur IE ne prend pas en charge cette méthode, vous pouvez donc envisager polyfill:

Math.trunc || (Math.trunc = function(v){
   return v < 0 ? Math.ceil(v) : Math.floor(v); // 使用Math.floor和Math.ceil方法
})
// 或者
if (!Math.trunc) {
    Math.trunc = function(v) {
        v = +v;
        if (!isFinite(v)) return v;
        
        return (v - v % 1) || (v < 0 ? -0 : v === 0 ? v : 0);
        
        // 返回:
        //  0        ->  0
        // -0        -> -0
        //  0.2      ->  0
        // -0.2      -> -0
        //  0.7      ->  0
        // -0.7      -> -0
        //  Infinity ->  Infinity
        // -Infinity -> -Infinity
        //  NaN      ->  NaN
        //  null     ->  0
    };
}

Opération sur les bits binaires

Pour l'objet numérique n, vous pouvez le convertir en entier de la manière suivante :

  • ~~n Double bit extraction Inverse (Double bitwise NOT)

  • n | n opération OU au niveau du bit (OU au niveau du bit)

  • n | Opération OU au niveau du bit avec 0 (OU au niveau du bit avec 0)

  • n << opération de décalage à gauche 0 bits (décalage à gauche au niveau du bit)

  • n >> opération de décalage à droite de 0 bit 0 bits (décalage à droite au niveau du bit)

  • n & n est l'opération ET (ET au niveau du bit)

Par exemple, le code est le suivant :

   ~~1.23 // 1
   -1.2 | -1.2  // - 1
   -1.2 | 0  // - 1
   3.4 >> 0 // 3
   3.2 << 0 // 3
   5.5 & 5.5 // 5
  ~~"1.2" // 1.2

Remarque, comme le montre ce qui précède, les chaînes convertiront automatiquement les nombres lors d'opérations au niveau du bit.

【Apprentissage recommandé : Tutoriel avancé javascript

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!

Déclaration:
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