Entwickler-Ecke

Basistechnologien - Zahlen auf 5 Stellen anch dem Komma runden ??


Shika - Mi 12.09.07 14:37
Titel: Zahlen auf 5 Stellen anch dem Komma runden ??
Hi ich bins nochmal

Wie stell ich ein, das eine komma zahl nur 5 stellen hinter dem KOmma stehen ?

LG olli


Moderiert von user profile iconChristian S.: Topic aus C# - Die Sprache verschoben am Mi 12.09.2007 um 14:51


JüTho - Mi 12.09.07 15:42

Siehe Benutzerdefinierte Zahlenformatzeichenfolgen in der SDK-Doku; also z.B. so:
double value = 12.34567;

C#-Quelltext
1:
string MyString = value.ToString("#,##0.000,00");                    

(nicht getestet, insbesondere habe ich nicht geprüft, wie ggf. gerundet wird)

Jürgen


Chryzler - Mi 12.09.07 19:45

Wozu gibts Math.Round? ;)

C#-Quelltext
1:
2:
double Zahl = 3.14159265359;
Zahl = Math.Round(Zahl, 5);


Kha - Mi 12.09.07 20:47

Zum Nicht-Benutzen ;) ?
Jedenfalls macht es keinen Sinn, Math.Round für eine Ausgabe zu benutzen, schon allein wegen der Ungenauigkeit von Fließkommazahlen.


mt-tec - Do 13.09.07 14:28
Titel: Re: Zahlen auf 5 Stellen anch dem Komma runden ??
user profile iconShika hat folgendes geschrieben:
Hi ich bins nochmal

Wie stell ich ein, das eine komma zahl nur 5 stellen hinter dem KOmma stehen ?

LG olli


Moderiert von user profile iconChristian S.: Topic aus C# - Die Sprache verschoben am Mi 12.09.2007 um 14:51


HI Olli,
also, ich nehme mal an, das du mit "double" arbeitest, wegen den Kommastellen.
Du kannst es mit einer Formatierungsanweisung erreichen. und zwar so:

Console.Write("{0:F5} dein Text oder was auch immer", variable);

Nimm wie hier die geschweifte Klammer inkl. der 0. dann : und dann für die nachkommastellen das F und die Angabe der Nachkommastellen in deinem Fall 5. Automatisch, d.h. nur das F würde 2 sein

Ich hoffe ich konnte dir weiterhelfen


Chryzler - Do 13.09.07 15:34

user profile iconKhabarakh hat folgendes geschrieben:
Zum Nicht-Benutzen ;) ?
Jedenfalls macht es keinen Sinn, Math.Round für eine Ausgabe zu benutzen, schon allein wegen der Ungenauigkeit von Fließkommazahlen.

Wer sagte was von ausgeben? ;)


Kha - Do 13.09.07 19:51

user profile iconChryzler hat folgendes geschrieben:
Wer sagte was von ausgeben? ;)
Nenne mir mindestens eine sinnvolle mathematische Anwendung von Math.Round(x, 5). Zehn Sekunden Zeit, ab JETZT :mrgreen: .


arj - Fr 14.09.07 00:00

user profile iconKhabarakh hat folgendes geschrieben:
user profile iconChryzler hat folgendes geschrieben:
Wer sagte was von ausgeben? ;)
Nenne mir mindestens eine sinnvolle mathematische Anwendung von Math.Round(x, 5). Zehn Sekunden Zeit, ab JETZT :mrgreen: .


Naja, wenn die Eingabegröße nur eine Genauigkeit von 5 Stellen hat :mrgreen:


Kha - Fr 14.09.07 11:46

Dann...? :gruebel:
Die Genauigkeit der Eingabe ist doch für die Berechnungen vollkommen irrelevant. Bis zur Ausgabe wird natürlich mit höchstmöglicher Präzision gerechnet.