Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Probleme de precision d'integer php4.4.2 / php4.4.0.3

3 réponses
Avatar
FB
Bonjour les gens,

Alors voila, j'ai un algo de calcul de checksum assez complexe qui
tourne tres bien sur apache 1.x php4-4-2, mais qui me renvoit un
resultat errone depuis que j'ai change de serveur (apache 2
php4-4-0-3).

Les valeurs pour Precision etc sont identiques d'un php.ini a l'autre,
mais je suis certain qu'il s'agit la d'un probleme du a la precision
des entiers.

Il y a t'il un parametre dans php que j'aurais oublie pour definir la
precision des entiers ? ou vais-je devoir passer a php4-4-2 ?

Merci pour vos precieux conseils.

FB

3 réponses

Avatar
Olivier Miakinen

Alors voila, j'ai un algo de calcul de checksum assez complexe qui
tourne tres bien sur apache 1.x php4-4-2, mais qui me renvoit un
resultat errone depuis que j'ai change de serveur (apache 2
php4-4-0-3).


Ok.

Les valeurs pour Precision etc sont identiques d'un php.ini a l'autre,
mais je suis certain qu'il s'agit la d'un probleme du a la precision
des entiers.


J'ai l'impression que tu confonds les entiers et les flottants. Les
entiers vont en principe de -2147483648 à +2147483647. Si tu utilises
des entiers plus grands, ils sont convertis en flottants, avec
éventuellement une perte de précision.

Quand au paramètre « precision » de php.ini, non seulement il ne
concerne pas les entiers, mais en outre il semble qu'il ne concerne
que l'affichage.

Il y a t'il un parametre dans php que j'aurais oublie pour definir la
precision des entiers ? ou vais-je devoir passer a php4-4-2 ?


Si tu veux vraiment n'utiliser que des entiers, vérifie déjà qu'ils ne
dépassent pas 2147483647.

--
Olivier Miakinen
Troll du plus sage chez les conviviaux : le nouveau venu, avec
son clan, s'infiltre dans les groupes de nouvelles. (3 c.)

Avatar
Francois
Le script fonctionne, j'ai le meme probleme pour l'adapter a python
(les integer sont convertits en long et le resultat change...)

Je n'ai pas l'intention de reprendre le script, je pense que le
comportement de php sur l'autre serveur doit pouvoir etre reproduit sur
le nouveau serveur sans modifier une ligne du script. Mais comment ?
Avatar
Olivier Miakinen

Le script fonctionne, j'ai le meme probleme pour l'adapter a python
(les integer sont convertits en long et le resultat change...)

Je n'ai pas l'intention de reprendre le script, je pense que le
comportement de php sur l'autre serveur doit pouvoir etre reproduit sur
le nouveau serveur sans modifier une ligne du script. Mais comment ?


Attends, je prends ma boule de cristal... voilà.

Je vois... que tu t'appelles maintenant François, mais qu'avant tu étais
FB... je vois... que c'est à moi que tu réponds et non pas à FB, malgré
l'absence de citation... je vois... euh... ah non, je n'arrive pas à
voir ton script PHP, ni pourquoi cela marche maintenant alors que ça ne
marchait pas avant, et encore moins comment changer le comportement d'un
script sans le modifier, mais surtout sans le lire.

Saleté de boule de cristal de pacotille !

--
Olivier Miakinen
Troll du plus sage chez les conviviaux : le nouveau venu, avec
son clan, s'infiltre dans les groupes de nouvelles. (3 c.)