FloatToInt(float)

浮動小数値を整数値に変換する/小数点以下を切り捨てる

int FloatToInt(
    float fFloat
);

Parameters

fFloat

整数型に変えたい浮動小数値


Description

fFloatの浮動小数型の値を整数値に変える。整数型は小数位をサポートしていないため、小数点以下の数値は結果的に切り捨てられる。四捨五入はされない。



Remarks

BioWareの文章には誤って、四捨五入されると記述されている。


Version

1.22

Example

// example courtesy of Ken Vargo
// normalizing angles
// variation of an example introduced by Vane
// when it was realized that FloatToInt acts like
// TRUNC() in MS Excel rather than INT().

int iAddAngles(int iAngleOne, int iAngleTwo);

void main()
{
    int iA1 = GetLocalInt (OBJECT_SELF, "a1");
    int iA2 = GetLocalInt (OBJECT_SELF, "a2");

    int iSum = iAddAngles(iA1, iA2);
    int iNegSum = iAddAngles(0 - iA1, 0 - iA2); 
    // this tests the negatives added together 
    //(-10 + -10 = -20 = 340 degrees)

    SendMessageToPC(GetFirstPC(), IntToString(iSum));
    SendMessageToPC(GetFirstPC(), IntToString(iNegSum));

    SetLocalInt(OBJECT_SELF, "a1",  iA1 + 10);
    SetLocalInt(OBJECT_SELF, "a2", iA2 + 10);
}

// this function return the normalized sum of two angles
// (will always be a positive angle value b/w 0 and 359).
int iAddAngles(int iAngleOne, int iAngleTwo)
{
    int iAngleSum = (iAngleOne + iAngleTwo);
    int iNormalAngleSum = iAngleSum - (360 * FloatToInt(iAngleSum/360.0));
    if (iNormalAngleSum >= 0)
    {
        return iNormalAngleSum;
    }
    else
    {
        return  360 + iNormalAngleSum;
    }
}

See Also

functions: FloatToString | IntToFloat
categories: Type Casting/Conversion Functions


author: Charles Feduke, JP team: ngtaicho
Send comments on this topic.