troncature nombre

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : troncature nombre

Re: troncature nombre

par Mazarini » 14 mars 2012, 15:11

Je pense que tu as compris le problème.

Par contre il faut que tu sois plus rigoureux dans le contenu de tes variables. Essayes d'avoir que des variables avec des nombres et ne fais la conversion que lorsque tu en as besoin. Conversion juste après la saisie (variable $_POST ou $_GET) et conversion juste avant l'affichage.

Tu sembles avoir les capacités pour programmer, mais il me semble que tu manques de bonnes habitudes, ce qui est normal quand on commence. Reprends tes programmes pour voir si tu peux les simplifier et les rendre plus "joli". Par exemple, mettre des noms de variables plus explicites serait pas mal.

Re: troncature nombre

par piotrowski-s » 14 mars 2012, 12:47

Résolu :) Réponse:
    <?php 
$pp = str_replace(array(' ', ','), array('', '.'), $pp);
$rgt = str_replace(array(' ', ','), array('', '.'), $rgt);

$solde1 = $pp - $rgt ; 
$sd1 = number_format($solde1, 2, ',', ' ');
echo $sd1 ; ?> 

Re: troncature nombre

par piotrowski-s » 14 mars 2012, 12:32

pp = 19 857,32
data9 = 221,12
-202 €

Voila la synthèse.

la différence entre les deux ne fait pourtant pas ce montant...

Re: troncature nombre

par piotrowski-s » 14 mars 2012, 12:20

ça me dit que les variables contiennent ça:
) Parse error: syntax error, unexpected T_STRING, expecting ',' o

Re: troncature nombre

par Mazarini » 14 mars 2012, 12:13

Il faut remplacer :
<?php $solde1 = $pp - $data9['montant'] ; 

echo $solde1 ; ?> &euro;
par
<?php 

echo 'pp = ',$pp,'<br>';
echo '$data9['montant'] = ',$data9['montant'],'<br>';
$solde1 = $pp - $data9['montant'] ; 
echo $solde1 ; ?> &euro;
comme ca on sera sur de ce que contiennent tes variables.

troncature nombre

par piotrowski-s » 14 mars 2012, 11:59

Bonjour à tous, j'ai deux requêtes qui m'affichent deux nombres différents. Je formates ces nombres pour un affichage de meilleure qualité.
Le nombre 1 est défini par cette requête:
<?php $sql7 = 'SELECT SUM(montant) as montant FROM factures WHERE n_doss=' . $_GET['n_doss'] . '';

$req7 = mysql_query ($sql7) or die ('Erreur SQL !<br>'.$sql7.'<br>'.mysql_error ()); 

while($data9 = mysql_fetch_assoc ($req7)) 

{ ?>
                      <?php $pp=$data9['montant'] ;
					  if (empty($data9['montant'])) {

echo '0,00'; }

else { 
 $pp = $data9['montant'] ; $nbr2 = $pp;

// Notation française
$pp = number_format($nbr2, 2, ',', ' ');
// 1 234,56
echo $pp; }

 ?>
                      <?php } ?>                      &euro;
Le second par une requête similaire:
<?php $sql5 = 'SELECT SUM(montant) as montant FROM versements WHERE n_doss=' . $_GET['n_doss'] . '';

$req5 = mysql_query ($sql5) or die ('Erreur SQL !<br>'.$sql5.'<br>'.mysql_error ()); 

while($data9 = mysql_fetch_assoc ($req5)) 

{ ?>
                      <?php  $nbr4=$data9['montant'] ;
					   if (empty($data9['montant'])) {

echo '0,00'; }

else {

// Notation française
$rgt = number_format($nbr4, 2, ',', ' ');
// 1 234,56
echo $rgt; }

 ?>
                      <?php } ?>
La synthèse est une différence entre ces deux nombres, à savoir:
<?php $solde1 = $pp - $data9['montant'] ; 

echo $solde1 ; ?> &euro;
Pour le premier nombre apparait: 19 857,32 €
Pour le second: 221,12 €
Je ne comprends pas pourquoi la soustraction n'est pas faite correctement, car il m'affiche "19 €".

D'avance merci pour l'aide.