[PHP][OPERATEUR==][RESULTAT ETRANGE]
Résolu/Fermé
efflamm
Messages postés
22
Date d'inscription
jeudi 18 janvier 2007
Statut
Membre
Dernière intervention
30 janvier 2008
-
21 déc. 2007 à 02:53
s.spark Messages postés 2485 Date d'inscription vendredi 29 octobre 2004 Statut Contributeur Dernière intervention 13 février 2018 - 26 déc. 2007 à 03:02
s.spark Messages postés 2485 Date d'inscription vendredi 29 octobre 2004 Statut Contributeur Dernière intervention 13 février 2018 - 26 déc. 2007 à 03:02
A voir également:
- [PHP][OPERATEUR==][RESULTAT ETRANGE]
- Lexer resultat - Télécharger - Sport
- Easy php - Télécharger - Divers Web & Internet
- Resultat foot - Télécharger - Vie quotidienne
- 0758 quel opérateur - Forum Vos droits sur internet
- 0650 quel opérateur - Forum Opérateurs & Réseaux mobiles
9 réponses
s.spark
Messages postés
2485
Date d'inscription
vendredi 29 octobre 2004
Statut
Contributeur
Dernière intervention
13 février 2018
618
21 déc. 2007 à 04:24
21 déc. 2007 à 04:24
Salut,
Très curieux en effet, les 3 1er sont inférieur, et le dernier est supérieur, mais pourquoi, tel est la question !
Très curieux en effet, les 3 1er sont inférieur, et le dernier est supérieur, mais pourquoi, tel est la question !
efflamm
Messages postés
22
Date d'inscription
jeudi 18 janvier 2007
Statut
Membre
Dernière intervention
30 janvier 2008
3
21 déc. 2007 à 05:15
21 déc. 2007 à 05:15
Je me demande s'il faudrait pas que j'ajoute un test de valeur ( !=0 et != "") sur les $champ[6]+$champ[8]+$champ[10]+$champ[12].Pourtant on vois bien sur d'autre ligne que meme si une des valeurs vaut 0 ou " " ça n'a pas l'air de gener PHP, mais bon comme je vois rien d'autre pour l'instant..
s.spark
Messages postés
2485
Date d'inscription
vendredi 29 octobre 2004
Statut
Contributeur
Dernière intervention
13 février 2018
618
21 déc. 2007 à 05:38
21 déc. 2007 à 05:38
Pour une raison que j'ignore, dans 2 cas $ht est plus grand de 0,000000000000454747350886 et dans un cas $ht est plus petit de 0,000000000000454747350886 et dans le premier cas $ht est plus grand de 0,000000000000909494701773.
(à 1 virgule près).
(à 1 virgule près).
efflamm
Messages postés
22
Date d'inscription
jeudi 18 janvier 2007
Statut
Membre
Dernière intervention
30 janvier 2008
3
21 déc. 2007 à 16:23
21 déc. 2007 à 16:23
est ce qu'on peut dire à php de calculer avec une mantisse à deux chiffre seulement ? :|
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
s.spark
Messages postés
2485
Date d'inscription
vendredi 29 octobre 2004
Statut
Contributeur
Dernière intervention
13 février 2018
618
22 déc. 2007 à 06:07
22 déc. 2007 à 06:07
Essais de mettre tes valeurs dans un intval()
Bonjour,
c'est encore moi
$ht=$champ[6]+$champ[8]+$champ[10]+$champ[12]; // on additionne les valeurs toute les deux colonne à partir de la 6ième jusqu'a la fin
dans plusieurs de tes lignes, tu n'as pas autant de champs (12) ?
C'est curieux que Php ne te sorte pas une erreur (index inexistant dans l'array ??)
tu devrais peut être faire une boucle:
@lain
c'est encore moi
$ht=$champ[6]+$champ[8]+$champ[10]+$champ[12]; // on additionne les valeurs toute les deux colonne à partir de la 6ième jusqu'a la fin
dans plusieurs de tes lignes, tu n'as pas autant de champs (12) ?
C'est curieux que Php ne te sorte pas une erreur (index inexistant dans l'array ??)
tu devrais peut être faire une boucle:
$champ=explode(",",$ligne); $ht=0;// va créer une variable de type numérique foreach($champ as $cle=>$value){ if($cle==6 OR $cle==8 OR $cle == 10 OR $cle==12){ $ht+=$value; } }
@lain
Re,
j'ai fait pleins d'essais, les deux valeurs comparées sont bien numériques et php a un comportement bizarre.
Alors je les force à variable chaine avant comparaison et la ça marche:(les puristes vont bondir !)
@lain
j'ai fait pleins d'essais, les deux valeurs comparées sont bien numériques et php a un comportement bizarre.
Alors je les force à variable chaine avant comparaison et la ça marche:(les puristes vont bondir !)
$array_fichierE=file('fich_texte.txt'); // on ouvre le fichier précédement de sortie en entrée foreach($array_fichierE as $ligne) // on parse le fichier ligne par ligne { $champ=explode(",",$ligne); $ht=0;// va créer une variable de type numérique foreach($champ as $cle=>$value){ if($cle==6 OR $cle==8 OR $cle == 10 OR $cle==12){ $ht+=trim($value); } } settype($champ[4],'string');// on force le type de variable en chaine settype($ht,'string'); if ($ht == trim($champ[4])){ // ht doit être egal à ttc echo "<font color='green'>N°: ".$champ[1]." TVA+HT: ".$ht." EST EGAL AU TTC:".$champ[4]."</font><br>";} // un affichage juste pour verif else { echo "<font color='red'>N°: ".$champ[1]." TVA+HT: ".$ht." N'EST PAS EGAL AU TTC:".$champ[4]."</font><br>";} }
@lain
efflamm
Messages postés
22
Date d'inscription
jeudi 18 janvier 2007
Statut
Membre
Dernière intervention
30 janvier 2008
3
26 déc. 2007 à 01:39
26 déc. 2007 à 01:39
Je n'aurais pas trouvé comme ça.J'ai testé ça marche ainsi et je peux tout à fait faire évoluer si les lignes changent!
Apparemment dans un tableau (verifié avec intval) si la ou on pointe c'est vide numériquement, c'est pas tout à fait vide quand même puisque intval me retourne 1 dans ces fameuse lignes.Alors que pour moi c'est nul evidemment. Après si la variable est utilisé avec un opérateur comme j'ai fait, sans passer par Mr propre, je ne sais pas ce qui se passe.Php n'aime pas le vide, je dirais ;-)
Un grand merci à vous deux :)
Apparemment dans un tableau (verifié avec intval) si la ou on pointe c'est vide numériquement, c'est pas tout à fait vide quand même puisque intval me retourne 1 dans ces fameuse lignes.Alors que pour moi c'est nul evidemment. Après si la variable est utilisé avec un opérateur comme j'ai fait, sans passer par Mr propre, je ne sais pas ce qui se passe.Php n'aime pas le vide, je dirais ;-)
Un grand merci à vous deux :)
s.spark
Messages postés
2485
Date d'inscription
vendredi 29 octobre 2004
Statut
Contributeur
Dernière intervention
13 février 2018
618
26 déc. 2007 à 03:02
26 déc. 2007 à 03:02
j'avais essayé de mettre des 0 à la place du vide et c'était pareil.