X++ 數學執行階段函式

本文描述了數學執行時函數。

這些函數執行數學計算。

abs

擷取實數的絕對值。 Examples:

  • abs(-100.0) 會 傳回值 100.0。
  • abs(30.56) 傳 回值 30.56。

Syntax

real abs(real arg)

Parameters

Parameter Description
引數 要取得絕對值的數字。

Return value

arg的絕對值。

Example

static void absExample(Args _args)
{
    real r1;
    real r2;
    ;
    r1 = abs(-3.14);
    r2 = abs(3.14);
    if (r1 == r2)
    {
        print "abs of values are the same";
        pause;
    }
}

acos

擷取實數的弧餘弦。

Note

如果你提供的參數值超出 -1 到1的範圍,函式會回傳以下執行時錯誤:「三角函數的參數超出範圍。」

Syntax

real acos(real arg)

Parameters

Parameter Description
引數 要擷取的弧餘弦的數字。

Return value

arg 的弧餘弦。

Example

static void acosExample(Args _args)
{
    real r;
    str  s;
    ;
    r = acos(0.0);
    s = strFmt("The arc cosine of 0.0 is %1 ", r);
    print s;
    pause;
}

asin

取得實數的弧弦。

Note

如果你提供的參數值超出 -1 到1的範圍,函式會回傳以下執行時錯誤:「三角函數的參數超出範圍。」

Syntax

real asin(real arg)

Parameters

Parameter Description
引數 計算角正弦的數字。

Return value

該數的弧弦。

Remarks

aSin(0.36) 傳 回 0.37。

atan

可取實數的反切線。

Syntax

real atan(real arg)

Parameters

Parameter Description
引數 要計算圓弧切線的數字。

Return value

指定數字的圓弧切線。

Remarks

aTan(0.36) 傳 回 0.35。

Example

static void atanExample(Args _args)
{
    real r;
    ;
    r = atan(1.0);
    print strFmt("The Arc Tangent of 1.0 is %1", r);
    pause;
}

corrFlagGet

擷取實數的更正旗標狀態。

Syntax

int corrFlagGet(real arg)

Parameters

Parameter Description
引數 要擷取狀態的旗標。

Return value

若標記為非零,則為非零值;若旗標被清除,則為 0 (0)。

Example

下列範例顯示 1。

static void corrFlagGetExample(Args _args)
{
    real rr;
    rr = corrFlagSet(0.36,2);
    print(corrFlagGet(rr));
}

corrFlagSet

控制實數的校正旗標。

Syntax

real corrFlagSet(real real, int arg)

Parameters

Parameter Description
real 開啟或關閉更正旗標的編號。
引數 0 表示關閉旗幟;一個非零值來開啟旗幟。

Return value

若旗幟已關閉,則為 0;若旗標已開啟,則為非零值。

cos

擷取實數的餘弦。

Syntax

real cos(real arg)

Parameters

Parameter Description
引數 要找到餘弦的數字。

Return value

指定數字的餘弦。

Remarks

輸入 arg 參數的值,單位為弧度。

Example

下列程式碼範例顯示 0.76。

static void cosExample(Args _arg)
{
    real r;
    ;
    r = cos(15);
    print strFmt("Cos of 15 is %1", r);
    pause;
}

cosh

擷取實數的雙曲餘弦。

Note

如果你輸入的參數值超出 -250 到 250 範圍,會出現以下執行時錯誤:「三角函數參數超出範圍。」

Syntax

real cosh(real arg)

Parameters

Parameter Description
引數 計算餘弦的雙曲數。

Return value

指定數的雙曲餘弦。

Remarks

輸入 arg 參數的值,單位為弧度。

Example

static void coshExample(Args _arg)
{
    real r;
    ;
    r = cosh(0.1);
    print "The hyperbolic cosine of 0.1 is " + num2Str(r, 2, 2, 1, 1);
    pause;
}

decRound

將數字四捨五入到指定的小數位數。

Syntax

real decRound(real figure, int decimals)

Parameters

Parameter Description
figure 要四捨五入的數位。
decimals 要四捨五入的小數位數。

Return value

指定數字的值,四捨五入至指定的小數位數。

Remarks

decimals 參數的值可以是正數、0 (零) 或負數。

  • decRound(1234.6574,2) 傳回值 1234.66。
  • decRound(1234.6574,0) 傳 回值 1235。
  • decRound(1234.6574,-2) 傳回值 1200。
  • decRound(12345.6789,1) 傳回值 12345.70。
  • decRound(12345.6789,-1) 傳回值 12350.00。

exp

擷取指定實數的自然對數。

Syntax

real exp(real arg)

Parameters

Parameter Description
引數 計算自然對數的實數。

Return value

指定實數的自然對數。

Remarks

計算出的自然反對數是將自然對數 e 提升到 arg 參數所示的冪次方。

Example

static void expExample(Args _arg)
{
    real r1;
    real r2;
    ;
    r1 = exp(2.302585093);
    r2 = exp10(2.302585093);
    print strFmt("exp of 2.302585093 is %1", r1);
    print strFmt("exp10 of 230258 is %1", r2);
    pause;
}

exp10

擷取指定實數的以 10 為基數的反對數。

Syntax

real exp10(real decimal)

Parameters

Parameter Description
十進位 計算以 10 為底的反對數的實數。

Return value

十進制參數值的以 10 為基礎的對數。

Example

static void exp10Example(Args _arg)
{
    real r1;
    real r2;
    ;
    r1 = exp(2.302585093);
    r2 = exp10(2.302585093);
    print strFmt("exp of 2.302585093 is %1", r1);
    print strFmt("exp10 of 230258 is %1", r2);
    pause;
}

frac

擷取實數的小數部分。

Syntax

real frac(real decimal)

Parameters

Parameter Description
十進位 要擷取小數部分的實數。

Return value

指定數字的小數部分。

Remarks

frac(12.345) 傳 回值 0.345。

log10

取得實數的底數為十的對數。

Syntax

real log10(real arg)

Parameters

Parameter Description
引數 要計算對數的數字。

Return value

指定數字的以 10 為底的對數。

Remarks

log10(200) 傳 回值 2.30。

logN

擷取指定實數的自然對數。

Syntax

real logN(real arg)

Parameters

Parameter Description
引數 計算自然對數的數字。

Return value

指定數的自然對數。

Remarks

logN(45) 傳 回值 3.81。

max

擷取兩個指定值中較大的值。

anytype max(anytype object1, anytype object2)

Parameters

Parameter Description
object1 第一個值。
object2 第二個值。

Return value

你用 object1 和 object2 參數指定的兩個值中較大的那個。

Remarks

  • max(12.0,12.1) 傳回值 12.1。
  • max(2,33) 傳回值 33。

min

擷取兩個指定值中較小的值。

anytype min(anytype object1, anytype object2)

Parameters

Parameter Description
object1 第一個值。
object2 第二個值。

Return value

用 object1 和 object2 參數指定的兩個值中較小的那個。

Remarks

min(2,33) 傳回值 2。

Example

static void minExample(Args _arg)
{
    anytype a;
    real r = 3.0;
    real s = 2.0;

    a = min(r, s);
    print num2Str(a, 1, 2, 1, 1) + " is less than the other number.";
}

power

將實數提高到另一個實數的次方。

Syntax

real power(real arg, real exponent)

Parameters

Parameter Description
引數 要計算的累膪的數字。
exponent 用來提升你用 arg 參數指定的數字。

Return value

實數,也就是你用 arg 參數指定的數字,到你用 指數 參數指定的冪次方。

Remarks

  • power(5.0,2.0) 傳 回值 25.0。
  • power(4.0,0.5) 傳 回值 2.0。

四捨五入

將實數四捨五入到另一個實數的最接近的倍數。

Syntax

real round(real _arg, real _decimals)

Parameters

Parameter Description
_arg 原始編號。
_decimals _arg 參數的值必須四捨五入為倍數的數字。

Return value

是 _decimals 參數所指定值的倍數,且最接近 _arg 參數所指定值的數字。

Remarks

若要將實數四捨五入到指定的小數位數,請使用 decround 函數。

Remarks

  • round(123.45,5.00) 返回值 125.00。
  • round(7.45,1.05) 返回值 7.35。
  • round(23.9,5.0) 返回值 25.00。
  • round(26.1,5.0) 返回值 25.00。

sin

擷取實數的正弦。

Syntax

real sin(real _arg)

Parameters

Parameter Description
_arg 要計算正弦的數字。

Return value

指定實數的正弦。

Remarks

_arg 參數的值必須以弧度為單位。

Example

static void sinExample(Args _arg)
{
    real angleDegrees = 15.0;
    real angleRadians;
    real pi = 3.14;
    real r;
    ;
    angleRadians = pi * angleDegrees / 180;
    r = sin(angleRadians);
    print "sin of a "
        + num2Str(angleDegrees, 2, 2, 1, 1)
        + " degree angle is "
        + num2Str(r, 2, 10, 1, 1);
    pause;
}

sinh

擷取實數的雙曲正弦。

Syntax

real sinh(real _arg)

Parameters

Parameter Description
_arg 計算雙曲正弦的數字。

Return value

指定實數的雙曲正弦。

Remarks

_arg 參數的值超出 -250 到 250 的範圍,會導致下列執行階段錯誤:「三角函數的引數超出範圍。」

Example

下列範例說明 sinh 函式。

static void sinhExample(Args _arg)
{
    real angleDegrees = 45.0;
    real angleRadians;
    real pi = 3.14;
    real r;
    ;
    angleRadians = pi * angleDegrees / 180;
    r = sinh(angleRadians);
    print "sinh of a "
    + num2Str(angleDegrees, 2, 2, 1, 1)
    + " degree angle is "
    + num2Str(r, 2, 15, 1, 1);
    pause;
}

tan

擷取實數的正切。

Syntax

real tan(real arg)

Parameters

Parameter Description
引數 要計算正切的實數。

Return value

指定實數的切線。

Remarks

arg 參數的值超出 -250 到 250 的範圍,會導致下列執行階段錯誤:「三角函數的引數超出範圍。」

Example

下列範例說明 tan 函數。

static void tanExample(Args _arg)
{
    real r;
    ;
    r = tan(250);
    print strFmt("Tan of 250 is %1", r);
    pause;
}

tanh

擷取實數的雙曲正切。

Syntax

real tanh(real _arg)

Parameters

Parameter Description
_arg 要計算雙曲正切的數字。

Return value

指定實數的雙曲正切。

Example

下列範例說明 tanh 函數。

static void tanhExample(Args _arg)
{
    real r;
    ;
    r = tanh(0.1);
    print "The hyperbolic tangent of angle 0.1 is "
    + num2Str(r, 2, 10, 1, 1);
    pause;
}

trunc

透過刪除任何小數位數來截斷實數。

Syntax

real trunc(real _decimal)

Parameters

Parameter Description
_decimal 要截斷的數字。

Return value

這個數字等同於去除小數位後的 _decimal 參數值。

Remarks

這個函數總是將數字向下取整為整數。

Example

下列範例會將 2.7147 截斷至 2.00。

static void truncExample(Args _arg)
{
    real r;
    ;
    r = trunc(2.7147);
    print strFmt("r = %1",  r);
    pause;
}