2012-04-03 5 views
3

Kann jemand bitte helfen. Ich folge einem Tutorial gefunden here, wie ich habe eine Situation, wo ich die Gleichung einer Linie in Punkt Steigung Form, d. H. y−y1=m(x−x1) bekommen müssen.Convert Fraktion in C schwimmen #

Ich komme zu Schritt 3 des Tutorials kein Problem, aber dann steckte ich fest. Um von dieser Gleichung y−3=**3/11**(x−4) zu dieser 11y−33=3(x−4) (den Teil auf der rechten Seite loszuwerden) zu gehen, muss ich auf beiden Seiten mit 11 multiplizieren.

Mein Problem ist jedoch, dass ich offensichtlich keine Brüche, sondern Gleitkommazahlen in C# verwende. Also meine Werte wären 0.272727 statt 3/11. Was müsste ich also auf beiden Seiten multiplizieren, um mir die richtige Antwort zu geben? Oder kann das überhaupt gemacht werden?

Meine Frage ist, wie kann ich von dieser y−3=**0.272727**(x−4) zu 11y−33=3(x−4) in dezimaler Form bekommen?

Hat jemand irgendwelche Vorschläge oder Alternativen, die ich verwenden kann?

Vielen Dank im Voraus

+1

Schreiben Sie "3.0/11" anstelle von 3 und der ganze Ausdruck wird Fließkomma. Dann kannst du was auch immer tun. – Oliver

+0

Ich weiß immer noch nicht, wie das mein Problem lösen wird, da ich nur die Dezimalzahl habe, mit der ich anfangen soll (die Tutorial-Seite und die Formeln dienen nur als Referenz und nicht die tatsächlichen Werte, die ich verwende). Und selbst wenn ich es in eine Dezimalzahl wie 3.0/11 umwandeln sollte, bin ich immer noch auf Platz 1. Wie entferne ich dann diese Dezimalzahl? Vielleicht verstehe ich die Erklärung nicht vollständig – heyred

Antwort

0

Erstens bevor Sie versuchen, den Ausdruck zu laufen, die Ihre Gleichung berechnet, sollten Sie ermitteln, welcher Wert der Nenner mit einer Teil hat, oder wathever sonst, multiplizieren Sie danach Ihre Gleichung und versuchen Sie danach, sie zu berechnen. Oder ein anderer Weg ist zu verwenden The class FRACTION

1

Fraction Class

Sie können tatsächlich Fraktionen in C# verwenden es verwenden, vermeiden Sie die Abweichung der Rundung.

1

Ich denke, Sie haben die Gleichung Lösung für die Berechnung zu verwechseln. Sie müssen zuerst Ihre Gleichung zu einer Form lösen, die Sie tatsächlich berechnen können. Normale Programmiersprachen (nicht für Mathematic usw.) können nicht mit symbolischen Berechnungen oder Unbekannten umgehen. Sie können nur das Ergebnis eines Ausdrucks berechnen gegeben conrete Werte für alle Variablen verwendet

+0

"Normale Programmiersprachen" hm Was ist normal? Sie haben viele APIs, die sich mit symbolischen Berechnungen und Unbekannten befassen. Beispiel: [Wolframalpha API] (http://products.wolframalpha.com/developers/) –

+0

Ja Entschuldigung, vielleicht habe ich es falsch formuliert. Aber mir ist klar, dass ich zuerst die Gleichung lösen muss, bevor ich die Werte berechnen kann. Ich weiß, wie man die Berechnungen durchführt Ich habe die Gleichung gelöst, aber das Lösen der Gleichung hat dieses Problem für mich ausgelöst – heyred

+0

Ja, aber wenn man versucht, eine Gleichung zu lösen, um es wieder und wieder in einem Programm zu verwenden, ist es unpraktisch, es zu lösen Zeit. Und Sie können nicht statisch kompilierten Code verwenden, um die Berechnung durchzuführen, wenn Sie die Gleichung im Voraus herausfinden müssen. Immer noch mit Wolfram Alpha könnte eine gute Idee sein, es zuerst zu lösen und dann verwenden, wenn es von Hand zu tun –