[PHP] Addition de variable
Résolu/Fermé
A voir également:
- [PHP] Addition de variable
- Formule excel addition - Guide
- Easy php - Télécharger - Divers Web & Internet
- Vba excel sélectionner une plage de cellules variable ✓ - Forum VB / VBA
- Bash addition ✓ - Forum Shell
2 réponses
Bonjour
Ce n'est pas un arrondi automatique, c'est un manque de précision dans les calculs. Tu fais un calcul sur 13 chiffres significatifs, ce qui est à la limite des nombres standard du PHP (quoique la manuel dise 14).
Si tu sais qu'il n'y aura jamais de retenue au-delà du 6ème chiifre par exemple, tu peux découper cartefid en 2 tranches et faire l'addition sur les poids faibles, puis remettre bout à bout ...
$t1=substr($ad11,-6)); // extrait 6 chiffres poids faibles
$t1=$t1+$add2; // addition sans problème de précision
while (strlen($t1)<6) $t1 = '0'.$t1; // pour remettre les éventuels '0' qui ont disparu lors du passage en numérique
$codepin=substr($add1,0,strlen($add1)-6).t1; // on remet les deux morceaux ensemble
S'il y a une retenue (strlen($t1)>6) il faut l'intégrer dans la tranche de poids fort, ce qui n'est pas très compliqué non plus
Ce n'est pas un arrondi automatique, c'est un manque de précision dans les calculs. Tu fais un calcul sur 13 chiffres significatifs, ce qui est à la limite des nombres standard du PHP (quoique la manuel dise 14).
Si tu sais qu'il n'y aura jamais de retenue au-delà du 6ème chiifre par exemple, tu peux découper cartefid en 2 tranches et faire l'addition sur les poids faibles, puis remettre bout à bout ...
$t1=substr($ad11,-6)); // extrait 6 chiffres poids faibles
$t1=$t1+$add2; // addition sans problème de précision
while (strlen($t1)<6) $t1 = '0'.$t1; // pour remettre les éventuels '0' qui ont disparu lors du passage en numérique
$codepin=substr($add1,0,strlen($add1)-6).t1; // on remet les deux morceaux ensemble
S'il y a une retenue (strlen($t1)>6) il faut l'intégrer dans la tranche de poids fort, ce qui n'est pas très compliqué non plus