Bonjour,
J'aimemrai savoir s'il est possible d'avoir en sorti d'un str2num un chiffre sous notation scientifique?
par exemple, avec str2num('10000000') avoir : 1.0000E+007
Merci
Bonjour,
J'aimemrai savoir s'il est possible d'avoir en sorti d'un str2num un chiffre sous notation scientifique?
par exemple, avec str2num('10000000') avoir : 1.0000E+007
Merci
Quel serait l'intérêt ?
STR2NUM renvoie une valeur numérique. Rien à voir avec l'affichage de cette valeur...
Ingénieur indépendant en mécatronique - Conseil, conception et formation
- Conception mécanique (Autodesk Fusion 360)
- Impression 3D (Ultimaker)
- Développement informatique (Python, MATLAB, C)
- Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)
« J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)
Bonjour,
Ce serai plutôt sur sa fonction inverse num2str que cela serait possible
Code : Sélectionner tout - Visualiser dans une fenêtre à part num2str(1000000, '%10.4e')
Sinon ce serait plutôt un problème d'affichage, et dans ce cas:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 format short eng % Ou format long eng
Dernière modification par Invité ; 05/04/2011 à 15h08.
Si c'est pour ensuite l'afficher dans une fenêtre à part.
Merci c'est ce que je vais utiliser pour continuer.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Ce serai plutôt sur sa fonction inverse num2str que cela serai possible num2str(1000000, '%10.4e')
Ne peut on pas ensuite choisir le nombre de chiffre à afficher derrière le "e"?
Il y a par défaut 3 chiffres ne peut ont pas avoir seulement : 1.0000E+7
Une idée :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 x = 10000000; p = floor(log10(abs(x))); fprintf('%1.4fE%+d\n',x*10^-p,p)
Ingénieur indépendant en mécatronique - Conseil, conception et formation
- Conception mécanique (Autodesk Fusion 360)
- Impression 3D (Ultimaker)
- Développement informatique (Python, MATLAB, C)
- Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)
« J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)
En faite j'insère plutôt mon résultat dans un uicontrol via l'intermédiaire d'un set :
Code : Sélectionner tout - Visualiser dans une fenêtre à part set(ChampsSaisie(i), 'string', num2str(N, '%10.4e'));
Code : Sélectionner tout - Visualiser dans une fenêtre à part set(ChampsSaisie(i), 'string', sprintf('%1.4fE%+d\n',N*10^-floor(log10(abs(N))),floor(log10(abs(N)))));
Ou tu crée une fonction avec le code donné dans mon précédent message.
Ingénieur indépendant en mécatronique - Conseil, conception et formation
- Conception mécanique (Autodesk Fusion 360)
- Impression 3D (Ultimaker)
- Développement informatique (Python, MATLAB, C)
- Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)
« J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)
Merci Dut, j'ai essayé les 2 codes que tu m'as proposé mais j'ai un warning que je ne comprends pas entiérement qui s'affiche sur la console :
Code : Sélectionner tout - Visualiser dans une fenêtre à part Warning: Single line Edit Controls can not have multi-line text
J'ai simplement modifié mon code comme cela :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 p = floor(log10(abs(N))); Res = sprintf('%1.4fE%+d\n',N*10^-p,p); set(ChampsSaisie(i), 'string', Res);
Il faut enlever le \n dans le SPRINTF :
Code : Sélectionner tout - Visualiser dans une fenêtre à part set(ChampsSaisie(i), 'string', sprintf('%1.4fE%+d',N*10^-floor(log10(abs(N))),floor(log10(abs(N)))));
Ingénieur indépendant en mécatronique - Conseil, conception et formation
- Conception mécanique (Autodesk Fusion 360)
- Impression 3D (Ultimaker)
- Développement informatique (Python, MATLAB, C)
- Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)
« J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)
Merci Dut sa marche parfaitement!
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager