CalcFormula                              (XFORMU32)

Deklaration VB 6.0
Function CalcFormula (ByVal Formula As String, Result As Double, ByVal Trigmode As Integer) As Integer

Deklaration VB.NET
Function CalcFormula (ByVal Formula As String, Result As Double, ByVal Trigmode As Short) As Short

Beskrivning
Beräknar ett matematiskt uttryck i en sträng och returnerar resultatet som ett tal av typ Double. Funktionen hanterar de vanligaste räknesätten, parenteser och en mängd trigonometriska funktioner. Även variabler kan användas i ett uttryck. Med funktionen SetVariable skapar man en variabel. Funktionen Calcformula använder följande parametrar:
.
Formula Innehåller en sträng med ett matematiskt uttryck som ska beräknas.
Result Resultatet efter beräkningen lagras här.
Trigmode Anger om trigonometriska funktioner ska beräknas med radianer eller grader (1=radianer, 2=grader).
.
Följande tecken kan ingå i en sträng med ett matematiskt uttryck:
.
Tecken Betydelse
"0".."9"
"."
"E"

"("
")"
"+"
"-"
"*"
"/"
"^"
"PI"
Siffror.
Decimalpunkt.
Används för att skriva in exponenter. Ett minustecken efter ger negativ exponent. Exponenten måste ligga inom intervallet E-999..E+999.
Öppnar en parentesnivå.
Stänger en parentesnivå.
Addition.
Subtraktion.
Multiplikation.
Division.
Ett tal upphöjt till ett annat, t ex 2^3.
Pi (3.1415...).
.
Följande funktioner kan ingå:
.
Funktion Betydelse
SIN(x)
COS(x)
TAN(x)
ATAN(x)
ACOS(x)
ASIN(x)
ABS(x)
LOG(x)
LN(x)
EXP(x)
SQRT(x)
X!(x)
INT(x)
Beräknar sinus för x.
Beräknar cosinus för x.
Beräknar tangens för x.
Beräknar arcus tangens för x.
Beräknar arcus cosinus för x.
Beräknar arcus sinus för x.
Beräknar absolutvärdet av x.
Beräknar 10-logaritmen för x.
Beräknar den naturliga logaritmen för x.
Beräknar ex.
Beräknar kvadratroten av x.
Beräknar fakulteten av x.
Ger heltalsdelen av x.
.
Här nedan följer några exempel på uttryck som kan ingå i en sträng:

 "125*13+(16/3)"
 "13^4"
 "SIN(0.5)"
 "COS(0.5*PI)"
 "1/(LOG(10)+LOG(15))"
 "SQRT(SIN(0.5)+COS(0.5))"
 "X!(3)"


Den sistnämnda formeln beräknar fakulteten av 3 (vilket blir 6).
.
Returvärden
Funktionen returnerar en av följande värden:
.
Värde Betydelse
0
1
2
3
4
5
Beräkningen har lyckats.
Längden på parametern Formula är noll.
Uttrycket är felaktigt, innehåller felaktiga tecken eller kan ej beräknas.
Resultatet är för högt (overflow).
Resultatet är för lågt (underflow).
Division med noll inträffade.

Undersökning av underflow-fel (returvärde 4) kan stängas av/på med hjälp av funktionen SetUnderflowChecking. Om resultatet blir för lågt sätts Result alltid till 0. För att skilja på noll-resultat och underflow-fel kan returvärdet av CalcFormula undersökas, om underflow-kontrollen är på. Gränsen för lägsta tillåtna resultat kan ändras med funktionen SetMinExponent. Grundinställningen är 1E-999.

Se även
SetVariable, SetMaxExponent, SetMinExponent, SetUnderflowChecking


Exempel

Dim ErrCode As Integer
Dim Result As Double
ErrCode = CalcFormula("2*PI+3/4+SQRT(7)", Result, 2)

    
  
SamLogic