IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Problème de conversion string->int


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Inscrit en
    Juin 2006
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Problème de conversion string->int
    Bonjour, voici une partie de mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     $plae=$playerstats[0];
    $plaee=intval($plae,10);
    $plaa=5+$plaee;
    //This function first checks to see if a name is in use and if not it creates the Player
     
        if(CheckPlayerName(quote_smart($PlayerName))){
            echo("MSGBADNAME");
            return(false);
        }
     
    $PlayerData = <<<EOF
    datablock PlayerData($PlayerName : BaseBody){
    shapeFile = "$PlayerBody";
    dmgBonusPerLevel = 2;
    runSurfaceAngle=$TotRunSurfAng;
    jumpForce=8.3*$TotJumpForc;
    maxForwardSpeed=$TotMaxForwSpee;
    rechargeRate=$TotRechRate;
    runEnergyDrain=$TotRunEnerDrain;
    maxEnergy=$TotMaxEner;
    runForce = 48* $TotRunForc;
    maxDamage = $TotDama;
    repairRate = $TotRepaRate;
    jumpDelay = $TotJumpDela;
    ok=$ok;
    calc=$calc;
    plae=$plae;
    plaee=$plaee;
    plaa=$plaa;
    };
    et voici le résultat :

    datablock PlayerData(coucou : BaseBody){
    shapeFile = "starter.rpg/data/shapes/player/fValleyElf/player.dts";
    dmgBonusPerLevel = 2;
    runSurfaceAngle=85;
    jumpForce=8.3*145;
    maxForwardSpeed=16;
    rechargeRate=0.2;
    runEnergyDrain=0.6;
    maxEnergy=144;
    runForce = 48* 150;
    maxDamage = 5;
    repairRate = 1;
    jumpDelay = 1;
    ok="20"*"18"*"11"*"14"*"15"*"4"*"11"*"12"*"16"*"10";
    calc=15;
    plae="20";
    plaee=0;
    plaa=5;
    };
    Mon problème est le suivant : On constate bien dans ce code que la variable $plae est une string qui a pour valeur "20". Mais si je fais $plaa=5+$plaee; j'ai toujours plaa= 5 (alors que bien sur je voudrais obtenir 25) meme si j'utilise (int) ou intval($plaee). Toujours le même résultat...


    Cela fait maintenant plusieurs heures que je cherche sans trouver mon erreur, une aide me ferait plaisir

  2. #2
    Membre confirmé
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2006
    Messages
    430
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2006
    Messages : 430
    Points : 557
    Points
    557
    Par défaut
    y'a des caractères un peu en trop dans cette chaîne, les guillemets on l'air d'appartenir à ta variable... Normal donc que ni une addition ne fonctionne, ni un intval (d'ailleurs, le résultat de ton intval est 0 comme tu l'as certainement remarqué)

  3. #3
    Candidat au Club
    Inscrit en
    Juin 2006
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    D'accord, merci bkill, mais alors pourquoi :
    $var="30"+5; me donne bien 35 et pas ce que je veux faire ?

  4. #4
    Membre chevronné
    Avatar de ska_root
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    1 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Août 2005
    Messages : 1 203
    Points : 1 839
    Points
    1 839
    Par défaut
    tu n'as pas compris ce que t'as dit kbill...

    exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    <?php
    $plae='"20"';
    echo "<p>\$plae => <b>$plae</b></p>";
     
    $plaee=intval($plae);
    $plaa=5+$plaee;
     
    echo "\$plaee (intval de \$plae) => $plaee <br />";
    echo "\$plaa (addition de 5 et de \$plaee) => $plaa <br />";
     
    $plae="20";
    echo "<hr /><p>\$plae => <b>$plae</b></p>";
     
    $plaee=intval($plae);
    $plaa=5+$plaee;
     
     
    echo "\$plaee (intval de \$plae) => $plaee <br />";
    echo "\$plaa (addition de 5 et de \$plaee) => $plaa <br />";
    ?>

  5. #5
    Candidat au Club
    Inscrit en
    Juin 2006
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    D'accord, merci, j'ai juste rajouté $plae=str_replace('"',' ',$playerstats[0]); et ca marche

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. problème de conversion string > int
    Par supcomingenieur dans le forum Langage
    Réponses: 7
    Dernier message: 13/05/2013, 16h22
  2. conversion string en int
    Par edenyorke dans le forum C
    Réponses: 15
    Dernier message: 29/10/2006, 20h49
  3. [C#] Conversion string to int
    Par OpenGG dans le forum C#
    Réponses: 2
    Dernier message: 23/08/2006, 19h08
  4. conversion string vers int
    Par mathher dans le forum C++
    Réponses: 4
    Dernier message: 14/04/2006, 17h52
  5. [FLASH MX 2004] conversion string en int.
    Par calfater dans le forum Flash
    Réponses: 3
    Dernier message: 26/05/2004, 15h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo