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

C# Discussion :

[C#] Comment convertir un type décimal en string, sans utiliser la globalisation ?


Sujet :

C#

  1. #1
    Membre expérimenté Avatar de davcha
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 258
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 258
    Points : 1 539
    Points
    1 539
    Par défaut [C#] Comment convertir un type décimal en string, sans utiliser la globalisation ?
    J'ai une variable decimal.
    Je cherche à convertir cette variable en string, de manière à l'afficher, sans passer par la globalisation.

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    decimal test = 12.8m;
    Console.WriteLine("test vaut : "+test.ToString());
     
    -----
    test vaut : 12.8

  2. #2
    Membre expérimenté
    Avatar de jbrasselet
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Mars 2006
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 022
    Points : 1 413
    Points
    1 413
    Par défaut
    Où est ton problème?

  3. #3
    Membre expérimenté Avatar de davcha
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 258
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 258
    Points : 1 539
    Points
    1 539
    Par défaut
    J'ai "12,8", il me faut "12.8"

  4. #4
    Membre expérimenté
    Avatar de jbrasselet
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Mars 2006
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 022
    Points : 1 413
    Points
    1 413
    Par défaut
    utilise la fonction replace sur ta chaine de caractère :
    Machaine.replace(',','.');

    Ca devrait marcher

  5. #5
    Nouveau membre du Club
    Inscrit en
    Juillet 2005
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 92
    Points : 39
    Points
    39
    Par défaut
    Tu peux faire un test.replace(",", ".");

    Mais pour que ca le fasse automatiquement a mon avis le mieux est de passé par une classe String intermédiaire pour surcharger la fonction ToString()

  6. #6
    Membre expérimenté Avatar de davcha
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 258
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 258
    Points : 1 539
    Points
    1 539
    Par défaut
    Mouais... Vous avez pas mieux ? J'ai pas envie de transformer mon truc en usine à gaz juste pour une connerie de globalisation à la con...

    Des fois microsoft, sérieux... Ils mériteraient qu'on aille les taper.

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 91
    Points : 78
    Points
    78
    Par défaut
    Ou bien utiliser la classe Convert.
    J'avais vu decimal dans le tas quand je m'en suis servi hier pour convertir une String en int.

  8. #8
    Membre expérimenté Avatar de davcha
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 258
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 258
    Points : 1 539
    Points
    1 539
    Par défaut
    string Convert.ToString(decimal) est un alias de string Decimal.ToString(), donc ça risque pas de régler mon problème (d'autant que j'ai déjà essayé).

  9. #9
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 64
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Citation Envoyé par davcha
    J'ai une variable decimal.
    Je cherche à convertir cette variable en string, de manière à l'afficher, sans passer par la globalisation.

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    decimal test = 12.8m;
    Console.WriteLine("test vaut : "+test.ToString());
     
    -----
    test vaut : 12.8
    J'avoue que je ne comprend pas trop la raison qui te motive à refuser System.Globalization et notamment NumberFormatInfo

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    487
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 487
    Points : 621
    Points
    621
    Par défaut
    J'ai posté une solution ici : http://www.developpez.net/forums/sho...d.php?t=125944

    Sinon, il est toujours possible de modifier les options régionales de windows pour utiliser '.' au lieu de ',' comme séparateur décimal.

  11. #11
    Membre expérimenté Avatar de davcha
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 258
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 258
    Points : 1 539
    Points
    1 539
    Par défaut
    Eurk... Dans le genre bien compliqué pour pas grand chose...

    Tout ça à cause d'un bug sur le MySQL ODBC 3.51 Driver... Un bug vieux de plus de deux ans...

    J'ai résolu mon problème.

    Voici quelle était la cause de l'erreur : http://bugs.mysql.com/bug.php?id=3028

    Voilà pourquoi je cherchais à convertir 12.8 en "12.8" et pas en "12,8".

    Finalement, j'ai opté pour la solution d'utiliser le connecteur mysql .NET

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

Discussions similaires

  1. Comment convertir un type int en type string
    Par vandeyy dans le forum Développement de jobs
    Réponses: 1
    Dernier message: 05/08/2014, 14h41
  2. Comment convertir un type string en byte ?
    Par savoir dans le forum Langage
    Réponses: 6
    Dernier message: 18/11/2008, 13h55
  3. Réponses: 9
    Dernier message: 31/05/2006, 17h11
  4. Comment convertir de l'hexadecimale au string ASCII ?
    Par Battosaiii dans le forum Algorithmes et structures de données
    Réponses: 1
    Dernier message: 17/03/2006, 19h04
  5. [LG]Convertir le type double en string
    Par @tom@ dans le forum Langage
    Réponses: 8
    Dernier message: 18/01/2004, 19h20

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