Aroundi avec php

totdmm Messages postés 58 Statut Membre -  
totdmm Messages postés 58 Statut Membre -
salut mes amis voila mon probleme j ais un chiffre
$ss=28420.5*9/100;
$ss=2557.845
ok
mais mois je veux que
$ss= 2557.85
avec la roundi du php j'ais essayé plusieur solution mais rien marché
merci pour votre aide

4 réponses

  1. Pitet Messages postés 2845 Statut Membre 530
     
    Effectivement je n'avais pas fait attention à l'arrondi supérieur.

    Dans ce cas il faut utiliser le 3e paramètre de round :
    $s1 = 2557.845;
    $s2 = round($s1, 2, PHP_ROUND_HALF_UP);
    var_dump($s2); // 2557.85
    
    1
  2. Pitet Messages postés 2845 Statut Membre 530
     
    Salut,

    Tout simplement :
    $s1 = 2557.845;
    $s2 = round($s1, 2);
    var_dump($s2); // 2557.85
    


    https://www.php.net/manual/fr/function.round.php

    Bonne journée
    0
    1. totdmm Messages postés 58 Statut Membre
       
      merci poure ta reponce mais sa marche pas
      0
    2. totdmm Messages postés 58 Statut Membre
       
      $s1 = 2557.845;
      $s2 = round($s1, 2);
      echo"$s2";
      //2557.84
      0
    3. totdmm Messages postés 58 Statut Membre
       
      je veux que //2557.85
      0
    4. totdmm Messages postés 58 Statut Membre
       
      regarder avec mois j ais essayé
      echo sprintf("%0.2f", 2557.845);
      2557.84
      mais
      echo sprintf("%0.2f", 2557.835);
      2557.84
      echo sprintf("%0.2f", 2557.825);
      2557.82
      echo sprintf("%0.2f", 2557.815);
      2557.82
      pkoi avec 2 et 4 ne fonction pas
      0
  3. DelNC Messages postés 2360 Statut Membre 2 010
     
    Bonjour,

    je crois que ceci devrait t'aider

    $nss = number_format($nbr,2);

    Dis moi si c'est bon pour toi.
    @+
    0
    1. totdmm Messages postés 58 Statut Membre
       
      merci mais non sa marche pas
      0
    2. DelNC Messages postés 2360 Statut Membre 2 010
       
      Je ne suis pas certaine mais essaye ceci

      sprintf("%.2f",2557.845);
      0
    3. totdmm Messages postés 58 Statut Membre
       
      regarder avec mois j ais essayé
      echo sprintf("%0.2f", 2557.845);
      2557.84
      mais
      echo sprintf("%0.2f", 2557.835);
      2557.84
      echo sprintf("%0.2f", 2557.825);
      2557.82
      echo sprintf("%0.2f", 2557.815);
      2557.82
      pkoi avec 2 et 4 ne fonction pas
      s
      0
  4. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 831
     
    Bonjour,

    Regarde ici :
    https://www.php.net/manual/fr/function.round.php#98704

    function mround($number, $precision=0) {
       
        $precision = ($precision == 0 ? 1 : $precision);   
        $pow = pow(10, $precision);
       
        $ceil = ceil($number * $pow)/$pow;
        $floor = floor($number * $pow)/$pow;
       
        $pow = pow(10, $precision+1);
       
        $diffCeil     = $pow*($ceil-$number);
        $diffFloor     = $pow*($number-$floor)+($number < 0 ? -1 : 1);
       
        if($diffCeil >= $diffFloor) return $floor;
        else return $ceil;
    }
    
    echo mround(4.725, 2); // Donne 4.73 
    

    0
    1. totdmm Messages postés 58 Statut Membre
       
      merci beaucoup normalement ça marche très bien merci mon amis
      0
    2. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 831
       
      Si la question est résolue..
      Merci de ne pas oublier de clôturer le sujet
      (en cliquant sur le lien "Marquer comme résolu" qui se trouve sous le titre de la question)

      Cordialement,
      Jordane
      0
    3. totdmm Messages postés 58 Statut Membre
       
      ok mon amis merci merci
      0