Forum: PC Hard- und Software Visual Studio Math.round


von M. F. (fuchs1991)


Lesenswert?

Hallo zusammen,

Ich lese über Bluetooth Daten von meinem Mikrocontroller ein. Unter 
anderem auch Laufzeiten von externen Geräten, die damit betrieben 
werden.

Jetzt schreib ich gerade ein kleines Programm, welches unter anderem die 
Laufzeiten ausgeben soll. Da ich diese in Stunden anzeigen lassen 
möchte, bekomme ich dort nach der Umrechnung von Sekunden in Stunden 
sehr viele Nachkommastellen.

Die Nachkommastellen habe ich nun mit "Math.Round(x,3)" auf 3 begrenzt.

Jetzt zu meiner eigentlichen Frage :

Ich möchte immer genau 3 Nachkommastellen in meinem Label ausgeben.
Sprich wenn x=0,7 ist möchte ich im Label ausgeben 0,700.

Wie mache ich das ?

Vielen Dank

Gruß
Fuchs

von nicht"Gast" (Gast)


Lesenswert?

Der kleine Hinweis auf die Programmiersprache fehlt mal wieder


falls es C# ist, dann label.Text = $"{x:0.000}";


Grüße

von M. F. (fuchs1991)


Lesenswert?

Danke, es ist C# :)

von c-hater (Gast)


Lesenswert?

nicht"Gast" schrieb:

> Der kleine Hinweis auf die Programmiersprache fehlt mal wieder
>
>
> falls es C# ist, dann label.Text = $"{x:0.000}";

Besser ist, das unabhängig von der Programmiersprache abzufackeln 
(hinter den Kulissen läuft es ja sowieso darauf hinaus, es wird also 
durch die kryptische Formulierung rein garnix gespart...).

Sprich: die ToString()-Methode mit benutzerdefinertem Formatstring 
verwenden.

Für C# wäre das dan also:

label.Text = x.ToString("0.000");

für VB.net

label.Text = x.ToString("0.000")

von Tek (Gast)


Lesenswert?

Noch eine kurze Anmerkung zu Math.Round, da ich die Tage da selbst mit 
gekämpft habe:
Standardmäßig wird mathematisch gerundet, d.h aus 2,55 wird 2,5 nicht 
2,6, erst ab 2,56 wird aufgerundet.

Möchte man kaufmännisch gerundet haben, also schon ab 2,55 aufrunden 
musst du in deinem fall Math.Round(x, 3, MidpointRounding.AwayFromZero) 
nutzen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.