Chaîne numérique trop longue

Résolu
Utilisateur anonyme -  
 Utilisateur anonyme -
Bonjour,

j'ai une chaîne numérique égale à "77777771999999999". Donc 17 caractères.
Le problème c'est que php m'arrondi cette chaîne et le résultat et le suivant : 77777772000000000 !! Quelqu'un peut-il m'aider ?

2 réponses

  1. Utilisateur anonyme
     
    Bonjour

    Tu n'as pas de "chaîne numérique", car cela n'existe ni en PHP, ni en javascript. Il y a des chaines de caractères et des nombres.
    Dans le code que tu montres, ta variable $val est une chaîne de caractères. Je ne doute pas un instant que PHP la manipule correctement. L'arrondi sur les chaînes, cela n'existe pas.
    Par contre, tu crées un appel à une fonction javascript
    <button onClick="test(77777771999999999)">OK</button>

    dans lequel tu passe une constante numérique longue et c'est là qu'il y a un problème : Javascript arrondit cette constante numérique en la traduisant. Si tu as besoin de toute la précision, il faut passer une chaîne à javascript, simplement en entourant le paramètre de ' ou de ", par exemple :
    echo '<button onClick="test(\''.$val.'\')">OK</button>';

    Ce qui donnera à l'exécution
    <button onClick="test('77777771999999999')">OK</button>
    2
    1. blackduck Messages postés 902 Statut Membre 97
       
      Bien vu ;)
      0
    2. Utilisateur anonyme
       
      je vais essayer ça de suite !! merci !! et quand je dis chaîne numérique, j'entend par là qu'il n'y a que des chiffres ^^
      0
    3. Utilisateur anonyme
       
      c'est bon ça a marché... bien vu le père ;) Merci beaucoup !!
      0
  2. CptRomaiin Messages postés 334 Statut Membre 58
     
    Salut,

    Peux tu nous montrer le bout de code dans lequel tu as ce problème ?
    1
    1. Utilisateur anonyme
       
      <?php

      $nb1 = 7777777;
      $nb2 = 1;
      $nb3 = 999999999;

      $val = $nb1 . $nb2 . $nb3;

      echo '<button onClick="test('.$val.')">OK</button>';

      ?>

      <script>
      function test(value)
      {
      alert(value);
      }
      </script>
      0
    2. Utilisateur anonyme
       
      c'est un exemple mais c'est exactement les mêmes longueurs numériques... soit 17 caractères au total dans la variable $val
      0