Potenzbutton mit C#? Potenzen rechnen mit C#?

3 Antworten

Du kannst in C# einfach mit dem "^"-Zeichen potenzieren. Du könntest also sowas wie Textbox.Text = (int)Textbox.Text ^ 2 schreiben, wobei du die 2 auch durch jede andere Zahl oder Variable ersetzen kannst.

grip22 
Fragesteller
 24.02.2012, 14:46

habs schon hinbekommen ich danke dir aber auch (:

0
KeineAhnung760  24.02.2012, 14:50

Vergiss, was ich da geschrieben habe, das geht leider nur in VB.NET. In C# würde ich es hier mal mit der Math.Pow Methode versuchen. Damit kannst du dann auch jede beliebige Zahl mit jeder anderen potenzieren ;)

0
grip22 
Fragesteller
 24.02.2012, 14:57
@KeineAhnung760

okay ^^ weißt du vllt. wie man die funktion x ^ y einbaut, sprich x hoch y?

x² und x³ funktionieren schon (:

0

Entweder mit dem '^' Zeichen, oder mit der Math-Methode Pow

Die zweite ist zu empfehlen, da es nicht so übersichtlich und leicht erkenntlich ist und es auch für andere Zwecke verwendet wird (Logisches XOR).

Math.Pow(x, y)

ist die bessere Methode. x steht für die Zahl, welche potentiert werden soll und y für den Exponenten.

Beispiel:

int pot = Math.Pow(4, 2); //pot hat nun den Wert 4² = 16;

Für mehr Infos:

http://msdn.microsoft.com/de-de/library/vstudio/system.math.pow(v=vs.110).aspx

hey,

im prinzip machst du das gleiche wie bei der multiplikation, nur das du anstatt auf einen zweiten wert zu warten gleich den ersten nimmt und i=i*i machst und i wieder ins textfeld schreibst

grip22 
Fragesteller
 24.02.2012, 14:38

yeaaah :) hat funktioniert ich danke dir.

0
floopp  24.02.2012, 14:49
@grip22

ich werde zwar aus dem code nicht ganz schlau weil ich den rest net kenne, aber im prinzip sollte die funktion in etwa so ausschauen:

private void potenzClick(object sender, EventArgs e) {

if(textBox1.Text!=null) {

float zahl=(float)textBox1.Text;

zahl = zahl*zahl;

textBox1.Text=zahl.toString(); } }

es müsste noch eine überprüfung hinzugefügt werden ob sich in dieser textbox auch wirklich eine zahl befindet und nicht "asdf" o.Ä.

der code wird wahrscheinlich nicht funktionieren wenn man ihn so ins programm kopiert, weil ich den rest nicht kenne, aber ich hoffe, dass damit das prinzip klar wird :-)

lg

0
grip22 
Fragesteller
 24.02.2012, 14:52
@floopp

ja habs hinbekommen wie gesagt (:

0
grip22 
Fragesteller
 24.02.2012, 14:48

leider muss ich dich noch was fragen ^^

wie bekomm ich die funktion -> x^y also -> x hoch y hin ?

0
floopp  24.02.2012, 14:51
@grip22

wenn mich nicht alles täuscht gibt es in c# eh " ^ " als arithmetischen operator

0
grip22 
Fragesteller
 24.02.2012, 14:55
@floopp

hm, hab ich eingefügt aber leider kommt dort immer 0 raus? erklär mal den genauen schritt mit x hoch y wenns geht (:

0
floopp  24.02.2012, 15:01
@grip22

hmm...kann sein das es ^ doch nicht gibt, dann wäre ein einfacher weg das zu lösen folgender

for(int i=0; i<y; i++) { x=x*x; }

textBox1.Text=x.toString();

0
floopp  24.02.2012, 15:05
@floopp

PS: ich glaube die funktion Math.Pow(double x, double y) kann potenzieren, bin mir da jetzt aber net sicher

0
grip22 
Fragesteller
 24.02.2012, 15:09
@floopp

hm das funktioniert nicht :o ?

0
grip22 
Fragesteller
 24.02.2012, 15:36
@grip22

kannste mir das mit der Math.Pow Methode erklären?

0
floopp  25.02.2012, 12:58
@grip22

hey,

also so wie ich das verstanden habe funktionierts so:

du hast deinen x wert und deinen y wert also x^y die wandelst du dann in einen double um, mit (double)x und dann verwendest du die zwei zahlen als parameter für die funktion also: double ergebnis=Math.Pow(x,y); (du wirst für die funktion wsl zuerst das Math package hinzufügen müssen, aber das sollte dir eh automatisch vorgeschlagen werden)

lg

0