Formelberechnung in C Sharp
Formelberechnung in C#
Hallo ich möchte gerne eine Formel in C# anwenden doch ich weiss noch nicht wirklich wie.
P=1000*(Var1/Var2)³
ich wess aber nicht wie ich das hoch § in die formel bekomme weiterhin sind Var1 und Var2 double und P soll dann abgeschnitten werden das es ohne Komma anzeigt wer kann mir da am besten Helfen?
Danke schonmal
Hallo ich möchte gerne eine Formel in C# anwenden doch ich weiss noch nicht wirklich wie.
P=1000*(Var1/Var2)³
ich wess aber nicht wie ich das hoch § in die formel bekomme weiterhin sind Var1 und Var2 double und P soll dann abgeschnitten werden das es ohne Komma anzeigt wer kann mir da am besten Helfen?
Danke schonmal
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 89930
Url: https://administrator.de/forum/formelberechnung-in-c-sharp-89930.html
Ausgedruckt am: 20.04.2025 um 16:04 Uhr
7 Kommentare
Neuester Kommentar
Im C-Sharp-Forum findet man folgenden Link: Hochzahl für einen Taschenrechner programmieren. Das könnte helfen, da auch das Arbeiten mit negativen Zahlen abgedeckt ist.
float fltZahl = 0.5f; //Diese Zahl...
float fltHochzahl = 2; //... hoch diese Zahl
Math.Pow(fltZahl, fltHochzahl);
gibt manchmal ganz witzige ergebnisse,
wie z.B.:
0,1² = 0,0100000002980232
während
0,5² = 0,25
naja, ich trau dieser math klasse eh nicht über den weg.
ich hab mal eine eigene methode geschrieben, übernehme aber keine haftung ;)
private void button1_Click_1(object sender, EventArgs e)
{
//setze variable 1
float fltOne = 0;
//setze variable 2
float fltTwo = 0;
//setzte variable für ergebniss, kann durch float ersetzt werden
string strErgebnissPOW = null;
//setzte variable für ergebniss, kann durch float ersetzt werden
string strErgebnissEIG = null;
try
{
//konvertiere den string aus tbxEins zu single und fülle damit fltOne
fltOne = Convert.ToSingle(tbxEins.Text);
//konvertiere den string aus tbxZwei zu single und fülle damit fltTwo
fltTwo = Convert.ToSingle(tbxZwei.Text);
//rechnen mit Math.Pow, wandle ergebniss von float nach string um
strErgebnissPOW = Math.Pow(fltOne, fltTwo).ToString();
//rechnen mit eigener methode, wandle ergebniss von float nach string um
strErgebnissEIG = fltHochzahl(fltOne, fltTwo).ToString();
//gebe ergebniss von Math.Pow aus:
MessageBox.Show("Methode 1: " + fltOne.ToString() + " hoch " + fltTwo.ToString() + " = " + strErgebnissPOW, "Methode 1 (Math.Pow)");
//gebe ergebniss der eigenen methode aus:
MessageBox.Show("Methode 2: " + fltOne.ToString() + " hoch " + fltTwo.ToString() + " = " + strErgebnissEIG, "Methode 2 (Selbstgebaut)");
}
//fange ausnahmefehler ab
catch (Exception ex)
{
//zeige an was schief läuft
MessageBox.Show("Ausnahmefehler aufgetreten:\n\n" + ex.ToString());
}
}
private float fltHochzahl(float fltDies, float fltHochDas)
{
//definiere variable für das ergebniss
float fltErgebniss = fltDies;
//prüfe ob fltDies & fltHochDas nicht 0 sind
if (fltDies != 0 && fltHochDas != 0)
{
//beginne schleife (definiere i = hochzahl; solange loopen bis i = 1; i--
for (float i = fltHochDas; i > 1; i--)
{
//ergebniss = ergebniss * dies
fltErgebniss = fltErgebniss * fltDies;
}
//geb das ergebniss der loop zurück
return fltErgebniss;
}
//wenn 0 hoch X = 0, geb 0 zurück
else if (fltHochDas != 0 && fltDies == 0)
{
return 0;
}
//wenn die zahl hoch 0 gerechnet wird, geb 1 zurück
else if (fltHochDas == 0)
{
return 1;
}
//ist notwendig, das alle pfade einen rückgabewert haben
else
{
return 0;
}
}
blargh, nerviges kommentieren, hoffe es leuchtet ein.
EDIT:
Kommentare ind die zeile VOR dem code gesetzt,
minor bugfix ;)