Funktion zum Runden??



  • Konkretes Beispiel noch? 😃



  • Wie wärs mal mit einer Doku 😉

    Overload List
    Returns the whole number nearest the specified value.
    Supported by the .NET Compact Framework.
    [Visual Basic] Overloads Public Shared Function Round(Decimal) As Decimal
    [C#] public static decimal Round(decimal);

    Returns the whole number nearest the specified value.
    Supported by the .NET Compact Framework.
    [Visual Basic] Overloads Public Shared Function Round(Double) As Double
    [C#] public static double Round(double);

    Returns the number with the specified precision nearest the specified value.
    Supported by the .NET Compact Framework.
    [Visual Basic] Overloads Public Shared Function Round(Decimal, Integer) As Decimal
    [C#] public static decimal Round(decimal, int);

    Returns the number with the specified precision nearest the specified value.
    Supported by the .NET Compact Framework.
    [C#] public static double Round(double, int);

    public static double Floor(
    double d
    );

    public static double Ceiling(
    double a
    );

    Beispiel

    Math.Round(3.44, 1); //Returns 3.4.
    Math.Round(3.45, 1); //Returns 3.4.
    Math.Round(3.46, 1); //Returns 3.5.

    Math.Floor(3.44, 1); //Returns 4
    Math.Floor(3.45, 1); //Returns 4
    Math.Floor(3.46, 1); //Returns 4

    Math.Ceiling(3.44, 1); //Returns 3
    Math.Ceiling(3.45, 1); //Returns 3
    Math.Ceiling(3.46, 1); //Returns 3

    Und wie gesagt, die MSDN kann auch benutzt werden



  • Also gleich mal vorneweg.... ich bin Totaler Anfänger bei C# 😛

    Hier aber mal mein Code:

    using System;
    using System.Drawing;
    using System.Collections;
    using System.ComponentModel;
    using System.Windows.Forms;
    using System.Data;

    namespace Csharp1
    {
    /// <summary>
    /// Zusammenfassung für Form1.
    /// </summary>
    public class classEuro : System.Windows.Forms.Form
    {
    private double myWert;
    private System.Windows.Forms.Button button1;
    private System.Windows.Forms.TextBox textBox1;
    private System.Windows.Forms.RadioButton radioButton1;
    private System.Windows.Forms.RadioButton radioButton2;

    private System.ComponentModel.Container components = null;

    public classEuro()
    {
    //
    // TODO: Add constructor logic here
    //
    InitializeComponent();

    }
    public double Wert
    {
    set
    {
    myWert = value;
    }
    get
    {
    return myWert;
    }
    }
    public void runde()
    {
    Math.Round(myWert, 2);
    }
    public void tosFr()
    {
    myWert = myWert / 1.5606;
    }

    public void toEuro()
    {
    myWert = myWert * 1.5606;
    }
    /// <summary>
    /// Die verwendeten Ressourcen bereinigen.
    /// </summary>
    protected override void Dispose( bool disposing )
    {
    if( disposing )
    {
    if (components != null)
    {
    components.Dispose();
    }
    }
    base.Dispose( disposing );
    }

    #region Vom Windows Form-Designer generierter Code
    /// <summary>
    /// Erforderliche Methode für die Designerunterstützung.
    /// Der Inhalt der Methode darf nicht mit dem Code-Editor geändert werden.
    /// </summary>
    private void InitializeComponent()
    {
    System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(classEuro));
    this.button1 = new System.Windows.Forms.Button();
    this.textBox1 = new System.Windows.Forms.TextBox();
    this.radioButton1 = new System.Windows.Forms.RadioButton();
    this.radioButton2 = new System.Windows.Forms.RadioButton();
    this.SuspendLayout();
    //
    // button1
    //
    this.button1.Location = new System.Drawing.Point(40, 200);
    this.button1.Name = "button1";
    this.button1.Size = new System.Drawing.Size(112, 32);
    this.button1.TabIndex = 0;
    this.button1.Text = "Umrechnen";
    this.button1.Click += new System.EventHandler(this.button1_Click);
    //
    // textBox1
    //
    this.textBox1.Location = new System.Drawing.Point(32, 48);
    this.textBox1.Name = "textBox1";
    this.textBox1.Size = new System.Drawing.Size(120, 20);
    this.textBox1.TabIndex = 1;
    this.textBox1.Text = "Betrag eingeben";
    //
    // radioButton1
    //
    this.radioButton1.Location = new System.Drawing.Point(32, 96);
    this.radioButton1.Name = "radioButton1";
    this.radioButton1.Size = new System.Drawing.Size(125, 26);
    this.radioButton1.TabIndex = 2;
    this.radioButton1.Text = "sFr -> Euro";
    //
    // radioButton2
    //
    this.radioButton2.Location = new System.Drawing.Point(32, 144);
    this.radioButton2.Name = "radioButton2";
    this.radioButton2.Size = new System.Drawing.Size(125, 26);
    this.radioButton2.TabIndex = 3;
    this.radioButton2.Text = "Euro -> sFR";
    //
    // classEuro
    //
    this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
    this.ClientSize = new System.Drawing.Size(192, 262);
    this.Controls.Add(this.radioButton2);
    this.Controls.Add(this.radioButton1);
    this.Controls.Add(this.textBox1);
    this.Controls.Add(this.button1);
    this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
    this.Name = "classEuro";
    this.Text = "Euroumrechner";
    this.Load += new System.EventHandler(this.Form1_Load);
    this.ResumeLayout(false);

    }
    #endregion

    /// <summary>
    /// Der Haupteinstiegspunkt für die Anwendung.
    /// </summary>
    [STAThread]
    static void Main()
    {
    Application.Run(new classEuro());
    }

    private void Form1_Load(object sender, System.EventArgs e)
    {

    }

    private void button1_Click(object sender, System.EventArgs e)
    {
    classEuro oEuro = new classEuro();

    try
    {
    oEuro.Wert = Convert.ToDouble(this.textBox1.Text);

    if (radioButton1.Checked)
    {
    oEuro.tosFr();
    }
    else if (radioButton2.Checked)
    {
    oEuro.toEuro();
    }

    oEuro.runde();
    this.textBox1.Text = Convert.ToString(oEuro.Wert);
    }

    catch(FormatException ex)
    {
    MessageBox.Show(ex.ToString(), "Bitte nur Zahlen eingeben");
    //MessageBox.Show("Bitte geben Sie nur Zahlen ein.", "Fehler");
    }
    }
    }
    }

    Jetzt geht das aber mit dem runden irgenwie immer noch nicht, wieso das den??



  • Auch ein Anfänger kann die Doku lesen. Da gibt es auch Beispiele.
    Warum das nicht "geht" weiß ich nicht, da Du ja nicht mal sagstwas nicht "gehen" soll.



  • Ich habs ja schon im Titel beschrieben... das Runden funktioniert selbst mit der Math.round funktion nicht!...

    Anfänger sind glaub ich nicht so wilkommen??



  • lowrider schrieb:

    Ich habs ja schon im Titel beschrieben... das Runden funktioniert selbst mit der Math.round funktion nicht!...

    Du scheinst zu erwarten, dass Round seinen Parameter ändert. Das ist nicht der Fall. Wie es auch in der Doku steht, Round gibt den neuen Wert zurück. Wenn du diesen Rückgabewert nicht auswertest, ist klar, dass nichts passiert.

    Anfänger sind glaub ich nicht so wilkommen??

    Nein, Leute, die die Code-Tags nicht benutzen, eine Menge unnötigen Code posten und unklare Fehlerbeschreibungen liefern, sind nicht so willkommen. Das korreliert hin und wieder mit "Anfänger", mehr nicht.



  • Ja sorry.. tut mir leid.. bin neu hier!

    Wie kann ich dann diesen Rückgabewert ausgeben???



  • Wie kann ich dann diesen Rückgabewert ausgeben???

    So, wie du es auch bei toEuro machst. Da schreibst du ja auch nicht nur:

    public void toEuro()
    {
        myWert * 1.5606;
    }
    


  • lowrider schrieb:

    Wie kann ich dann diesen Rückgabewert ausgeben???

    Console.WriteLine( wert );
    oder
    MessageBox.Show( wert );

    lowrider schrieb:

    Anfänger sind glaub ich nicht so wilkommen??

    Das glaube ich nicht.
    Nur ist es bei manchen Leuten zu offensichtlich, dass sie keine Doku lesen wollen. Sonst würden sie sich die ein oder andere Frage sparen und hätten die Antwort in der Doku sogar noch schneller gefunden.



  • So jetzt hat auch diese einfache Aufgabe geklappt :D...

    myWert = Math.Round(myWert, 2) ;

    stand wohl ein wenig neben er Matte :)...

    thx für euer Hilfe


Anmelden zum Antworten