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 :

le séparateur de milliers est il un espace ? [RegEx]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de php_de_travers
    Inscrit en
    Juin 2004
    Messages
    460
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 460
    Par défaut le séparateur de milliers est il un espace ?
    Bonsoir,

    meilleurs voeux pour 2007 à tous les développeurs PHP !

    Je viens de découvrir que le séparateur de milliers n'est peut être pas un espace.
    Est-ce possible ?

    La preuve : lorsque je fais un ereg_replace ("3 ", "3", $chaine) pour le supprimer, ma $chaine reste identique.
    Si mon analyse est correcte, comment peut-on repérer et traiter ce signe si particulier qui sépare les milliers des centaines dans 3 650, par exemple.

    Pour info, si vous faites le test en copiant et en collant 3 650, la manip avec ereg_replace va fonctionner. Elle va buguer si le nombre est sorti d'une bdd où il a été formaté pour s'afficher avec le séparateur.
    Je suis clair ?

  2. #2
    Membre Expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Par défaut
    Salut,

    J'ai récemment été confronté à un problème en tout point similaire avec un développement en C#, j'avais des entiers formatés avec le séparateur de milliers par défaut dans l'environnement, à l'affichage je voyais un espace mais pour faire des remplacements de texte par le code ça ne marchait pas. Je m'en suis sorti en forçant l'espace en tant que séparateur sans chercher à en savoir plus sur ce mystérieux caractère...

    Je n'ai pas de solution mais c'est juste pour dire que cela est effectivement possible...

  3. #3
    Membre éclairé Avatar de php_de_travers
    Inscrit en
    Juin 2004
    Messages
    460
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 460
    Par défaut
    Merci pour ta réponse qui confirme juste que ce que je présente est un véritable problème, pas juste une vue de l'esprit.

  4. #4
    Membre éclairé Avatar de php_de_travers
    Inscrit en
    Juin 2004
    Messages
    460
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 460
    Par défaut
    Quelques éléments de réponse :

    - mon texte est codé en utf8 lorsque je le récupère. La chaîne que je cherche à traiter apparaît alors ainsi : 3Â 560
    Cela semble montrer qu'il ne s'agit pas vraiment d'un espace classique, mais bel et bien d'un caractère spécial.
    - Cette chaîne donne bien 3 560 avec utf8_decode() mais l'espace entre le 3 et le 5 reste insensible aux opérations ereg_replace() : 3 560 reste 3 560 !

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

Discussions similaires

  1. Espace comme séparateur de milliers
    Par shayw dans le forum VBA Word
    Réponses: 2
    Dernier message: 29/01/2014, 22h17
  2. Réponses: 28
    Dernier message: 05/06/2012, 09h36
  3. Réponses: 6
    Dernier message: 14/02/2007, 12h51
  4. Format des nombres entiers, séparateurs de milliers
    Par zazaraignée dans le forum Langage
    Réponses: 2
    Dernier message: 26/10/2005, 01h25
  5. [VB.NET] Séparateur de milliers
    Par anael dans le forum Windows Forms
    Réponses: 4
    Dernier message: 24/03/2005, 15h14

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