Computerhilfen.de Logo
Forum
Tipps
News
Frage stellen

C# Double Zahl auf 2 Nachkommastellen runden

Hi,
ich habe mir ein nettes kleine Programm geschrieben um eine öffters auftauchende Rechnung mit verschiedenen Werten zu vereinfachen jedoch machen es mir die ca. 8 - 10 Nachkommastellen nicht wirklich übersichtlich zumal ich sie auch nicht benötige ... ich bräuche nur 2 das würde mir schon voll und ganz ausreichen :)

Ich hoffe da kann mir wer helfen

MfG
______
Jumper


Antworten zu C# Double Zahl auf 2 Nachkommastellen runden:

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button
2 Leser haben sich bedankt

hmm ich hab jetzt mal versucht ...
 Math.Round(Leistung1, 2);

(Leistung1 ist ein double)
aber es kommt leider eine Zahl mit 6 Nachkommastellen raus
WARUM ?

ergebnis = Math.Round(Leistung1, 2); gibt dir in ergebnis n 6 stelligen Wert nach'm Komma? 

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Hmm ich versteh nicht ganz
Ich schreib mal nen etwas längeren Codeblock

Ich hab jetzt:

Leistung2 = Leistung1 * 2;
Math.Round(LmAbrisskante1, 2);
Leistung2.Text = Convert.ToString(Leistung2);

Hier brauche ich Komastellen aber nicht gleich 6 ;-)

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button
3 Leser haben sich bedankt

OK
habs :D
Danke DANKE 

Hmm ich versteh nicht ganz
Ich schreib mal nen etwas längeren Codeblock

Ich hab jetzt:

Leistung2 = Leistung1 * 2;
Math.Round(LmAbrisskante1, 2);
Leistung2.Text = Convert.ToString(Leistung2);

Hier brauche ich Komastellen aber nicht gleich 6 ;-)
Ich erklär dir noch eben warum der Codeausschnitt schrott ist ;)

Gut er zeigt in dem fall das Problem - du musst den Rückgabewert von Math.Round() natürlich einer Variablen zuweisen oder entsprechend weiterverarbeiten. Parameter kannst du nur beeinflußen wenn du Referenzen übergibst, ansonsten wird mit Kopien innerhalb der Funktion gearbeitet.

Die ist so zu verstehen:
int a = 1;
int b = 1;
int ergebnis = 0;

ergebnis = addiere(a, b);

/* innerhalb addiere() wird eine kopie von a und b angelegt und daher ist a und b an dieser Stelle immer noch jeweils 1, ergebnis ist allerdings 2, da addiere() einen rückgabewert "return a+b;" besitzt. */

Dann zeigst du hier was mit Leistung1 und Leistung2 passiert, versuchst aber LmAbrisskante1 zu manipulieren, was damit passiert, darüber haben wir überhaupt keine Aussage.
(gibst du irgendwo LmAbrisskante1 aus? Gibst du eine Hilfsvariable aus? etc.)
Relevant wären zumindest alle Zeilen die LmAbrisskante1 betreffen, Leistung1 und Leistung2 wären in dem Kontext zu vernachlässigen.

Solang du dir nicht sicher bist und deine Funktionen/Methoden sagen wir weniger als 50 - 100 Zeilen haben, tu dir keinen Zwang an und post ruhig die ganze Funktion/Methode.

« GreenfootWindows 7: VB EXCEL Liste in Excel Tabelle Speichern »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
Internet-Zugriffsprogramm
Ein Internet-Zugriffsprogramm, auch Browser genannt, stellt Internetseiten für den Benutzer dar. Am bekanntesten ist der Microsoft Internet Explorer, gefolgt vom kos...

Programm
Siehe Software...

Account
Ein Account, im Deutschen auch als Benutzerkonto bezeichnet, ist ein digitales Profil, das einem Nutzer Zugang zu bestimmten Diensten, Plattformen oder Geräten gew&a...