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

MATLAB Discussion :

détecter la virgule dans un caractère


Sujet :

MATLAB

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 89
    Points : 43
    Points
    43
    Par défaut détecter la virgule dans un caractère
    Bonjour.

    J'aimerais savoir comment on peut faire pour vérifier que le nombre rentré est de la bonne forme, par exemple 0.00005 et non 0,00005 qui se traduit par 5 sous matlab. j'ai déjà fait un test pour vérifier qu'il s'agisse bien d'un nombre, mais là, il faut tester la présence ou non de la virgule.

    Merci.

  2. #2
    Expert confirmé
    Avatar de duf42
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Novembre 2007
    Messages
    3 111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 111
    Points : 4 661
    Points
    4 661
    Par défaut
    Bonjour,

    As-tu essayé avec STRFIND?

    Bonne journée,
    Duf
    Simulink & Embedded Coder

    Au boulot : Windows 7 , MATLAB r2016b
    A la maison : ArchLinux mais pas MATLAB

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 89
    Points : 43
    Points
    43
    Par défaut
    Ca marche. Toutefois comment faire pour tester si la matrice c'est pas vide?

    J'ai fais tout simplement:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    global G_Seuil;
    G_Seuil = str2double(get(hObject, 'String'));
    if isnan(G_Seuil)
        set(hObject, 'String', 0);
        errordlg('Le seuil doit être un nombre','Erreur!!');
    end
    vir=strfind(G_Seuil,',');
    if vir ~=[]
     errordlg('Pas de virgule mais points','Erreur!!');
    end
    Aucun message d'erreur, mais pas de message d'erreur sur mon interface!!

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 89
    Points : 43
    Points
    43
    Par défaut
    Petite correction, à la place de str2double il faut mettre char, car même dans le nombre ca ne détecte pas la virgule.

  5. #5
    Expert éminent sénior
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Points : 14 830
    Points
    14 830
    Par défaut
    Remplace ça :Par :Et perso, je ferais plutôt comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    G_Seuil = get(hObject, 'String');
    %Remplacer virgule éventuelle par . 
    %pour ne pas embeter l'utilisateur habitué aux virgules
    G_Seuil=strrep(G_Seuil,',','.');
    %Transformation en numérique
    G_Seuil=str2double(G_Seuil);
    if isnan(G_Seuil)
        set(hObject, 'String', 0);
        errordlg('Le seuil doit être un nombre','Erreur!!');
    end
    Règles du Forum

    Adepte de la maïeutique

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 89
    Points : 43
    Points
    43
    Par défaut
    Super!! Sincèrement merci.

    Vive Developpez.com !!!

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 22/07/2014, 16h33
  2. probleme reconnaissance caractère "virgule" dans select
    Par ludophil dans le forum Requêtes
    Réponses: 1
    Dernier message: 18/01/2010, 22h36
  3. Réponses: 1
    Dernier message: 13/05/2009, 13h49
  4. Gestion du caractère virgule dans un TEdit
    Par Nadirov dans le forum Delphi
    Réponses: 6
    Dernier message: 14/08/2006, 08h36
  5. lire le point-virgule dans un fichier .ini
    Par juflata dans le forum Langages de programmation
    Réponses: 3
    Dernier message: 05/07/2004, 12h46

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