IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

transformer une chaine '27,25' en valeur décimale 27.25


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Inscrit en
    Avril 2004
    Messages
    513
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 513
    Points : 127
    Points
    127
    Par défaut transformer une chaine '27,25' en valeur décimale 27.25
    Bonjour à toutes et tous

    j'ai une valeur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     echo "POST['quantieme_mois'] ". $_POST["quantieme_mois"]
    affichage:
    POST['quantieme_mois'] 27,25
    Je veux récupérer la valeur avec le point décimal comme 27.25 pour l'envoyer dans la base de donnée

    j'essaie ceci (voir commentaire ligne 7)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    echo number_format('27,25',2,'.','');
    //affichage 27,00 avec erreur :A non well formed numeric value encountered
     
    echo number_format('27.25',2,'.','');
    //affichage 27.00 avec erreur :A non well formed numeric value encountered
     
    //pourquoi mes valeurs sont arrondies à 00
     
    echo "float(27.25) ".(float)('27.25');echo'<br/>';
    // affichage float(27.25) 27.25
     
    echo "float(27,25) ".(float)('27,25');echo'<br/>';
    //affichage float(27,25) 27
     
    echo "floatval(27.25) ".floatval('27.25');echo'<br/>';
    // affichage floatval(27.25) 27.25
     
    echo "floatval(27,25) ".floatval('27,25');echo'<br/>';
    //affichage floatval(27,25) 27

  2. #2
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 269
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 269
    Points : 8 568
    Points
    8 568
    Billets dans le blog
    17
    Par défaut
    Tu peux utiliser la classe NumberFormatter => https://www.php.net/manual/fr/class.numberformatter.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $value = '1 234,56';
    $nf = new NumberFormatter('fr_FR', NumberFormatter::DECIMAL);
    echo $nf->parse($value); // 1234.56

  3. #3
    Membre habitué
    Inscrit en
    Avril 2004
    Messages
    513
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 513
    Points : 127
    Points
    127
    Par défaut
    Bonjour

    Merci pour ta réponse.

    Mais j'ai eu un message d'erreur que "NumberFormatter n'était pas connu ! je n'ai pas insisté.

    j'ai résolu en créant une petite fonction qui me dépanne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function strToFloat($valeur){
    	$valeur = str_replace(',','.',$valeur);
    	$valeur = number_format($valeur,2,'.','');
    	$valeur = floatval($valeur);
    	return $valeur ;
    }
    encore merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. transformer une chaine de caracteres en image
    Par jsunnyduckk dans le forum 2D
    Réponses: 7
    Dernier message: 16/02/2007, 15h51
  2. Réponses: 14
    Dernier message: 01/03/2006, 09h32
  3. transformer une chaine de caracteres en du code
    Par giova_fr dans le forum C++
    Réponses: 6
    Dernier message: 15/01/2006, 17h37
  4. Réponses: 2
    Dernier message: 03/10/2005, 17h23
  5. Réponses: 2
    Dernier message: 14/01/2005, 16h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo