Chaîne numérique trop longue

Résolu/Fermé
Utilisateur anonyme - 9 juin 2015 à 13:36
 Utilisateur anonyme - 9 juin 2015 à 16:07
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 ?



A voir également:

2 réponses

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
blackduck Messages postés 817 Date d'inscription mercredi 20 février 2013 Statut Membre Dernière intervention 24 novembre 2018 96
9 juin 2015 à 15:32
Bien vu ;)
0
Utilisateur anonyme
9 juin 2015 à 16:04
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
Utilisateur anonyme
9 juin 2015 à 16:07
c'est bon ça a marché... bien vu le père ;) Merci beaucoup !!
0
CptRomaiin Messages postés 315 Date d'inscription mercredi 23 octobre 2013 Statut Membre Dernière intervention 28 avril 2016 58
9 juin 2015 à 13:57
Salut,

Peux tu nous montrer le bout de code dans lequel tu as ce problème ?
1
<?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
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