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++Builder Discussion :

50.00 n'est pas un nombre en virgule flottante correct [FAQ]


Sujet :

C++Builder

  1. #1
    Membre régulier Avatar de Merfolk
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    170
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 170
    Points : 113
    Points
    113
    Par défaut 50.00 n'est pas un nombre en virgule flottante correct
    bonjour

    j'ai des gros soucis de 'machin n'est pas un nombre en virgule flottante correct '

    je me suis renseigné :

    c'est la variable "DecimalSeparator" qui est à l'origine de l'erreur quand on fait un cell[][]->ToDouble()

    mon pc a dans les parametres regionaux "," comme séparteur.
    au début de l'application, la variable DecimalSeparator est initialisée à "." puis n'est plus jamais changée dans le code

    pourtant, parfois et aléatoirement, la variable DecimalSeparator est redevenue "," ... d'où des erreurs

    Qu'est ce qui fait changer cette variable si qqn a une idée ?

    merci

  2. #2
    Membre régulier Avatar de Merfolk
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    170
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 170
    Points : 113
    Points
    113
    Par défaut
    ok j'ai trouvé moi même lol :
    C'est quand .... on change de fond d'écran !!

    DecimalSepator = '.'

    je change mon fond d'écran

    DecimalSeparator = ',' de nouveau le truc par defaut de windows
    résultat, toutes les convertions de nombres plantent

    Quelqu'un a une bonne idée ? si ça se trouve il peut y avoir 1000 raisons -en dehors de l'appli- qui font que cette variable se tranforme...

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations forums :
    Inscription : Mai 2002
    Messages : 84
    Points : 109
    Points
    109
    Par défaut
    MaChaine = StringReplace(MaChaine, DecimalSeparator, ",", <<rfReplaceAll ...
    DecimalSeparator = ',';

    Si tu as un point dans la chaine, il est remplacé donc ça roule.
    Si tu as une virgule, alors StringReplace ne fait rien.
    Tu places le DecimalSeparator qui va bien et tu lis.

    Regardes les paramétres du StringReplace je ne m'en souviens plus.

Discussions similaires

  1. erreur : " ceci n'est pas un nombre"
    Par fripette dans le forum Outils
    Réponses: 5
    Dernier message: 17/11/2013, 16h51
  2. [phpMyAdmin] ce n'est pas un nombre
    Par abdelilah dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 02/12/2011, 18h09
  3. Réponses: 3
    Dernier message: 10/11/2011, 17h28
  4. '' n'est pas une valeur en virgule flottante correcte
    Par laala.hamid dans le forum Bases de données
    Réponses: 8
    Dernier message: 22/08/2011, 11h06
  5. Vérifier qu'une chaîne n'est PAS un nombre
    Par foxbond dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 06/03/2009, 08h21

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