Frage

Ich habe Probleme mit einem Apex -Code, den wir arbeiten möchten. Ich bekomme immer wieder den Fehler;

"System.Mathexception: Kann doppelte 'Infinity' nicht als Dezimalheit darstellen: (Systemcode)"

decimal rho = 1000;
decimal mu = 0.0019;
beta = 0.0757;
decimal r_b_eq8 =   (0.33 * math.exp(0.76 * math.log(9.81) * math.exp(0.52 * math.log(rho / mu)) * math.exp(1.28 * math.log((math.exp((1/3)*math.log(beta))))))); 

Das Problem tritt auf, wenn wir versuchen, den Teil des Codes math.log (rho / mu) zu berechnen. Ich habe versucht, das Ergebnis von Rho / MU abzurunden und es als doppelte, viele andere Dinge zu definieren. Ich habe versucht, den Abteilungsanteil des Problems zu setzen, der einem anderen Variablen entspricht und ersetzt wurde.

alpha = rho / mu;
... * math.log(alpha) ... 

mit wenig Erfolg. Ist dies ein Problem mit der Art und Weise, wie wir unsere Variablen als Dezimalstellen definiert haben? Die Mathematik. Log funktioniert gut mit dem 9.81 und auch mit "Beta" als Ende.

Wir machen die Berechnungen mit Excel und vielen anderen Programmen und haben nie ein solches Problem. Wir führen unseren Code auf diese Weise aus, weil wir nicht berechnet werden können (Rho / mu) ^ 0,52 in Salesforce ohne Mathematik / Exp -Trick. Gibt es einen Weg um diesen oder einen anderen Weg, um die Erhöhung von (rho / mu) ^ 0,52 zu computer, was uns diesen Fehler nicht geben würde?

War es hilfreich?

Lösung

Ich habe endlich eine Antwort darauf bekommen ... thx. Mike Chale über Salesforce.Stackexchange.com

Es war wirklich ein alberner Fehler, das ultimative Problem ist, dass es () um 0,76 * Math.log (9,81) (0,33 * (Math.Exp (0,76 * Math.log (9,81)) * math.exp (0,52 * math.log (rho / mu)) * Es repräsentiert 9,81^0,76.

Das endgültige Problem war, dass diese Berechnung überflutet zu sein scheint, was Apex behandeln kann.

Ich denke, es wäre immer noch schön, die Arbeit nicht für die Erhöhung der Kräfte zu nutzen.

https://salesforce.stackexchange.com/questions/21112/cannot-repesent-double-infinity-as-adecimal-salesforce

Danke Mike Chale nochmal.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top