WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Runden und korrekte Ausgabe

 

MorrisThorne
Forum-Anfänger

Forum-Anfänger


Beiträge: 21
Anmeldedatum: 07.12.07
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.04.2008, 16:07     Titel: Runden und korrekte Ausgabe
  Antworten mit Zitat      
Hallo Community,

und erneut treibt es mich hierher und Matlab Tränen in die Augen.

Problem: Ich möchte eine Zahl auf eine von mir festgelegte Nummer an Nachkommastellen runden und diese dann auch nur ausgeben.

Bsp:
Zahl = 1.23456789
gerundeteZahl(dreiNachkommastellen)=1.234

So, was ich gefunden habe per Matlabhilfe ist schonmal der Befehl 'round'. Nicht schlecht, schonmal ein Anfang. Um die entsprechende Anzahl an Nachkommastellen zu runden habe ich hier im Forum ne Lösung gefunden:

round(Zahl*10^(anzNachkommaStellen)/anzNachkommaStellen)

Vom runden her klappt das prima. Nur möchte ich nun eben auch nur genau diese Ziffern darstellen. Also nicht (um auf obiges Bsp zurück zu kommen)

gerundete Zahl = 1.2340

sondern eben nur
gerundete Zahl = 1.234

Über 'format' weiss ich, dass ich bestimmte vorgegebene Stellen angeben kann, je nach Zahlentyp (long, short etc), habe aber dort keine Variante gefunden, wie man die Anzahl der Nachkommastellen auf x beschränkt.

Abgesehen davon brauche ich die Zahlen dann nichtmal auf dem Prompt ausgegeben, vielmehr möchte ich sie eben danach in einen string umwandeln, da der dann in einem EditText-Element einer GUI stehen soll.


Weiss da jemand Rat?

Gruß,
MorrisThorne
_________________

*Oink oink, kommt her, ihr Schweinchen! Oink oink!*
Private Nachricht senden Benutzer-Profile anzeigen


tompie
Forum-Guru

Forum-Guru


Beiträge: 260
Anmeldedatum: 19.09.07
Wohnort: München
Version: immer alles
     Beitrag Verfasst am: 09.04.2008, 16:16     Titel:
  Antworten mit Zitat      
Hallo,

das hatten wir hier schon ein paar Mal:

Code:
sprintf('%0.5f',1.2345)


oder auch

Code:
num2str(1.2345,'%0.5f')


Mit
Code:
braucht man sich hier wirklich nicht abmühen...

Gruß tompie
Private Nachricht senden Benutzer-Profile anzeigen
 
MorrisThorne
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 21
Anmeldedatum: 07.12.07
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.04.2008, 16:27     Titel:
  Antworten mit Zitat      
Code:
num2str(1.2345,'%0.5f')


Exactamundo was ich brauche, merci vielmal, tompie!

Gruß, MorrisThorne
_________________

*Oink oink, kommt her, ihr Schweinchen! Oink oink!*
Private Nachricht senden Benutzer-Profile anzeigen
 
outsider
Forum-Meister

Forum-Meister


Beiträge: 806
Anmeldedatum: 03.09.07
Wohnort: München
Version: R2012b
     Beitrag Verfasst am: 09.04.2008, 16:38     Titel:
  Antworten mit Zitat      
Code:
out = eval(sprintf('%0.5f',1.2345343));


Ist viel schneller als NUM2STR und vor allem bekommst Du als Ergebnis den Wert als Double zurück und nicht den String.


MfG
Private Nachricht senden Benutzer-Profile anzeigen
 
tompie
Forum-Guru

Forum-Guru


Beiträge: 260
Anmeldedatum: 19.09.07
Wohnort: München
Version: immer alles
     Beitrag Verfasst am: 09.04.2008, 16:53     Titel:
  Antworten mit Zitat      
Code:
out = eval(sprintf('%0.5f',1.2345343));


Das war aber nicht die Frage!

Zitat:
Abgesehen davon brauche ich die Zahlen dann nichtmal auf dem Prompt ausgegeben, vielmehr möchte ich sie eben danach in einen string umwandeln, da der dann in einem EditText-Element einer GUI stehen soll.
Private Nachricht senden Benutzer-Profile anzeigen
 
outsider
Forum-Meister

Forum-Meister


Beiträge: 806
Anmeldedatum: 03.09.07
Wohnort: München
Version: R2012b
     Beitrag Verfasst am: 09.04.2008, 17:24     Titel:
  Antworten mit Zitat      
übersehen... passierts.


MfG
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.