Autor Beitrag
Shika
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Mi 12.09.07 14:37 
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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2021
Erhaltene Danke: 6

Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
BeitragVerfasst: Mi 12.09.07 15:42 
Siehe Benutzerdefinierte Zahlenformatzeichenfolgen in der SDK-Doku; also z.B. so:
double value = 12.34567;
ausblenden 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
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1097
Erhaltene Danke: 2



BeitragVerfasst: Mi 12.09.07 19:45 
Wozu gibts Math.Round? ;)
ausblenden C#-Quelltext
1:
2:
double Zahl = 3.14159265359;
Zahl = Math.Round(Zahl, 5);
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 16



BeitragVerfasst: Do 13.09.07 14:28 
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
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1097
Erhaltene Danke: 2



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 378

Win XP/Vista, Debian, (K)Ubuntu
Delphi 5 Prof, Delphi 7 Prof, C# (#Develop, VS 2005), Java (Eclipse), C++, QT, PHP, Python
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: 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.