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 :

[CSV] str_replace et fichier CSV


Sujet :

Langage PHP

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 17
    Par défaut [CSV] str_replace et fichier CSV
    Bonjour,

    Voici mon problème. Je lis les valeurs d'un fichier CSV afin de les insérer dans une table MySQL. Le 3ème champ de chaque ligne correspond au solde du client, c'est un flottant. Le soucis est que les valeurs ne respectent pas le format de la base de données. Exemple : 3 427,33. Il faut donc remplacer la virgule par un point et ôter l'espace. J'ai donc écrit le code suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $solde_alpha=$ligne[2]; //$ligne[2] est la variable qui contient le champ du CSV
    $solde_alpha=str_replace(' ','',$solde_alpha);
    echo $ligne[2]." = ".$solde_alpha." = ";
    $solde_alpha=str_replace(',','.',$solde_alpha);
    echo $solde_alpha."<br/>";
    Mais le résultat donne ceci :
    1 328,24 = 1 328,24 = 1 328.24
    La virgule est bien remplacée par un point, mais l'espace ne disparaît pas. En revanche, l'espace disparaît si je donne une valeur en "dur" à $solde_alpha.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $solde_alpha="1 328,24";
    A quoi est-ce dû ? Est-ce que ça peut être un problème d'encodage ?

    PS : j'espère que je ne me suis pas trompé de section.

  2. #2
    Membre Expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Par défaut

    La fonction number_format est faite pour ça

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 17
    Par défaut
    Merci de ton aide, malheureusement, j'ai essayé ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $solde=number_format($ligne[2], 2, '.', '');
    echo $ligne[2]." = ".$solde."<br/>";
    Et le résultat a donné :
    1 328,24 = 1.00

Discussions similaires

  1. [Toutes versions] Ventiler mon fichier .csv en plusieurs fichiers .csv
    Par X.e.N.o.N dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 10/07/2018, 05h11
  2. [CSV] Importer un fichier CSV ou OV2 dans une page PHP
    Par gpsevasion dans le forum Langage
    Réponses: 13
    Dernier message: 12/02/2009, 14h31
  3. [CSV] formater un fichier csv?
    Par fmh1982 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 03/12/2006, 12h47
  4. [CSV] Générer un fichier CSV
    Par Taz_8626 dans le forum Langage
    Réponses: 6
    Dernier message: 18/07/2006, 08h25
  5. Réponses: 12
    Dernier message: 07/12/2005, 18h42

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