826 votes

Comment convertir une chaîne d’un nombre en PHP ?

Je veux convertir ces types de valeurs, , , , etc. pour un certain nombre. En JavaScript, nous pouvons utiliser , mais y a-t-il une méthode similaire disponible en PHP (solution générale) ?

1270voto

deceze Points 200115

Vous ne devrez généralement cela, étant donné que PHP va forcer le type pour vous dans la plupart des cas. Pour les situations où vous ne voulez pas convertir explicitement le type de fonte , il :

220voto

fardjad Points 8446

Il ya quelques façons de le faire:

  1. Cast les chaînes numériques, les types de données primitifs:

    $num = (int) "10";
    $num = (double) "10.12"; // same as (float) "10.12";
    
  2. Effectuer des opérations mathématiques sur les chaînes de caractères:

    $num = "10" + 1;
    $num = floor("10.1");
    
  3. Utiliser intval() ou floatval():

    $num = intval("10");
    $num = floatval("10.1");
    
  4. Utiliser settype().

51voto

Dans quelle langue (faiblement typé) vous pouvez toujours convertir une chaîne d’un nombre en ajoutant un zéro à elle.

Cependant, il y a très peu de sens dans ce que PHP va le faire automatiquement au moment de l’utilisation de cette variable, et il sera coulé en une chaîne en tout cas au moment de la sortie.

Notez que vous pouvez conserver les numéros de pointillés sous forme de chaînes, car après la coulée de flotter il peut être modifié de manière imprévisible, en raison de la nature des nombres float.

29voto

Alex Akr Points 155

Si vous voulez obtenir le flotteur pour , mais int pour , vous pouvez écrire :

Little bit sale, mais ça marche.

25voto

noobie-php Points 1608

Vous pouvez utiliser :

Ou vous pouvez utiliser :

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X