PHP : formatage spécial

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par rudddy, 21 Septembre 2010.

  1. rudddy

    rudddy WRInaute accro

    Inscrit:
    1 Août 2007
    Messages:
    2 562
    J'aime reçus:
    0
    Bonjour,

    J'aimerais formater des montants stockés en string de la façon suivante:
    1-supprimer les points faisant office de virgule
    2-tous les montants doivent être en centime

    Ex :

    1000 -> 100000
    512.5 -> 51250
    512.75 -> 51275

    Merci de votre aide
     
  2. spout

    spout WRInaute accro

    Inscrit:
    14 Mai 2003
    Messages:
    8 663
    J'aime reçus:
    2
  3. Schwarzer Stern

    Schwarzer Stern WRInaute impliqué

    Inscrit:
    16 Mai 2010
    Messages:
    753
    J'aime reçus:
    0
    Il faut aussi multiplier par 100 avant traitement non ?
     
  4. spout

    spout WRInaute accro

    Inscrit:
    14 Mai 2003
    Messages:
    8 663
    J'aime reçus:
    2
    Non pas besoin, c'est juste le séparateur des décimales qui est une chaine vide, au lieu du point.

    Code:
    <?php 
    $number = 1000;
    echo number_format($number, 2, '', '').'<br />';
    $number = 512.5;
    echo number_format($number, 2, '', '').'<br />';
    $number = 512.75;
    echo number_format($number, 2, '', '').'<br />';
    ?>
    
     
  5. Schwarzer Stern

    Schwarzer Stern WRInaute impliqué

    Inscrit:
    16 Mai 2010
    Messages:
    753
    J'aime reçus:
    0
    Merci de m'instruire ;)
     
  6. rudddy

    rudddy WRInaute accro

    Inscrit:
    1 Août 2007
    Messages:
    2 562
    J'aime reçus:
    0
    mais quel idiot que je suis !

    j'utilise cette fonction depuis des lustres tous les jours pratiquement !!!

    merci bcp !
     
  7. michel.leonard

    michel.leonard WRInaute occasionnel

    Inscrit:
    1 Juin 2010
    Messages:
    373
    J'aime reçus:
    0
    Code:
    $valeur_centimes=intval(preg_replace("#\.#","",$valeur_euros));
    que tu peux boucler
     
  8. spout

    spout WRInaute accro

    Inscrit:
    14 Mai 2003
    Messages:
    8 663
    J'aime reçus:
    2
    Code:
    $valeur_euros = 1000;
    $valeur_centimes=intval(preg_replace("#\.#","",$valeur_euros));
    echo $valeur_centimes;
    
    Ça ne fonctionne pas:
     
  9. rudddy

    rudddy WRInaute accro

    Inscrit:
    1 Août 2007
    Messages:
    2 562
    J'aime reçus:
    0
    mais number format est nickel et en plus est prévu pour ça donc pas de souci