Entwickler-Ecke
Basistechnologien - Unlogische Rechnung
GURKE deluxe - Mo 11.10.10 15:35
Titel: Unlogische Rechnung
Hallo,
Ich habe folgenden Code:
C#-Quelltext
1: 2: 3:
| Int32 x = Convert.ToInt32(Math.Round((decimal)(Math.Sqrt(Convert.ToDouble(rtbEingabe.TextLength / 3))), 0, MidpointRounding.AwayFromZero)); |
Er sagt mir, das das 303 sein sollen. Aber das ist doch vollkommener Murks?!
Wurzel(17158 / 3) = Wurzel(5719.33333) = ~75,6 -> Gerundet: 75
Warum bekommt er jetzt aber 303 raus?
GURKE
PS: Geht das ganze nicht auch ohne es 3 mal umzuformen?
Moderiert von
Christian S.: Code- durch C#-Tags ersetzt
traceurmicha - Mo 11.10.10 15:48
Hallo Gurke,
Mir ist nicht ganz klar was du machen willst!?
aber wenn ich ausgeben lasse
C#-Quelltext
1: 2:
| double t = Math.Sqrt(17158/3); MessageBox.Show(t.ToString()); |
bekomme ich 75,....... raus
und nur nebenbei, wenn du die länge eines Textes haben willst benutze stringvariable.Lenght
GURKE deluxe - Mo 11.10.10 16:16
Das Problem hat sich jetzt gelöst, ich verstehe zwar immernoch nicht was ich falsch gemacht haben soll, aber egal...
djfresh - Di 12.10.10 17:32
Ich bekomme sogar nur 1 raus...
1. mal wandelst du die Text Länge in Double um, wie wärs denn nur mit Text ?!?
2. willst abrunden oder aufrunden ?
weil 75.6... ist 76 gerundet...
C#-Quelltext
1:
| x = Convert.ToInt32(Math.Round((decimal)(Math.Sqrt(Convert.ToDouble(Convert.ToDouble(textBox1.Text) / 3))), 0, MidpointRounding.AwayFromZero)); |
so funktioniert dein Code...
P.S. oder so:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| private double y; private double z; private decimal f; private decimal g; private void button1_Click(object sender, EventArgs e) { y = Convert.ToDouble(textBox1.Text); z = Math.Sqrt(y/3); f = (decimal)z; g = Math.Round(f); label1.Text = g.ToString(); } |
GURKE deluxe - Di 12.10.10 18:28
Moin,
Interessant das du 1 raus bekommst :D
Meine Formel sieht jetzt so aus und die funktioniert interessanter Weise:
C#-Quelltext
1:
| int xy = Convert.ToInt16(Math.Round(Math.Sqrt(datei.Length), 0, MidpointRounding.AwayFromZero)); |
Gruß
GURKE
Moderiert von
Christian S.: Code- durch C#-Tags ersetzt
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!