Math Functions

Functions for performing various mathematical operations such as rounding, exponentiation, squaring, etc.

목차

일반 수학

Abs

Returns the absolute value of the specified number.

Value := Abs(Number)

반환값의 유형은 Number와 같습니다 (정수면 정수, 부동 소수점 수이면 부동 소수점 수).

MsgBox, % Abs(-1.2) ; Returns 1.2

Ceil

Returns the specified number rounded up to the nearest integer (without any .00 suffix).

Value := Ceil(Number)
MsgBox, % Ceil(1.2)  ; Returns 2
MsgBox, % Ceil(-1.2) ; Returns -1

Exp

e (대략 2.71828182845905)를 N 만큼 제곱해서 돌려줍니다.

Value := Exp(N)

N은 음수일 수 있으며 소수 점을 포함할 수 있습니다. e가 아닌 다른 숫자를 제곱하려면 ** 연산자를 사용하십시오.

MsgBox, % Exp(1.2) ; Returns 3.320117

Floor

Returns the specified number rounded down to the nearest integer (without any .00 suffix).

Value := Floor(Number)
MsgBox, % Floor(1.2)  ; Returns 1
MsgBox, % Floor(-1.2) ; Returns -2

Log

Returns the logarithm (base 10) of the specified number.

Value := Log(Number)

결과는 부동 소수점 수로 포맷됩니다. Number가 음수이면, 빈 문자열이 반환됩니다.

MsgBox, % Log(1.2) ; Returns 0.079181

Ln

Returns the natural logarithm (base e) of the specified number.

Value := Ln(Number)

결과는 부동 소수점 수로 포맷됩니다. Number가 음수이면, 빈 문자열이 반환됩니다.

MsgBox, % Ln(1.2) ; Returns 0.182322

Max [v1.1.27+]

Returns the highest value of one or more numbers.

Value := Max(Number1 , Number2, ...)

If one of the input values is non-numeric, an empty string is returned.

MsgBox, % Max(2.11, -2, 0) ; Returns 2.11

You can also specify a variadic parameter to compare multiple values within an array. 예를 들어:

array := [1, 2, 3, 4]
MsgBox, % Max(array*) ; Returns 4

Min [v1.1.27+]

Returns the lowest value of one or more numbers.

Value := Min(Number1 , Number2, ...)

If one of the input values is non-numeric, an empty string is returned.

MsgBox, % Min(2.11, -2, 0) ; Returns -2

You can also specify a variadic parameter to compare multiple values within an array. 예를 들어:

array := [1, 2, 3, 4]
MsgBox, % Min(array*) ; Returns 1

Mod

나머지 연산(Modulo)입니다. Returns the remainder of the specified dividend divided by the specified divisor.

Value := Mod(Dividend, Divisor)

결과의 부호는 언제나 첫 매개변수의 부호와 같습니다. 두 입력 중 하나라도 부동 소수점 수이면, 그 결과도 부동 소수점 수입니다. 두 번째 매개변수가 0이면, 함수는 빈 결과 (빈 문자열)을 돌려줍니다.

MsgBox, % Mod(7.5, 2) ; Returns 1.5 (2 x 3 + 1.5)

Round

Returns the specified number rounded to N decimal places.

Value := Round(Number , N)

N이 생략되거나 0이면, Number는 가장 가까운 정수로 버림됩니다:

MsgBox, % Round(3.14)    ; Returns 3

N이 양수이면, NumberN개의 십진 자리로 버림됩니다:

MsgBox, % Round(3.14, 1) ; Returns 3.1

N이 음수이면, Number는 소수점 왼쪽으로 N 자리수 만큼 버림됩니다:

MsgBox, % Round(345, -1) ; Returns 350
MsgBox, % Round(345, -2) ; Returns 300

Transform Round와 다르게 , 1 보다 작거나 N을 생략하면 그 결과는 .000 꼬리가 없습니다. [v1.0.44.01+]: N의 값이 0보다 크면 SetFormat에 의존하지 않고 정확하게 N 자리의 십진수를 보여줍니다. 이를 피하려면, Round()의 반환 값에 다른 수학 연산을 수행하십시오; 예를 들어: Round(3.333, 1)+0.

Sqrt

Returns the square root of the specified number.

Value := Sqrt(Number)

결과는 부동 소수점 수로 포맷됩니다. Number가 음수이면, 빈 문자열을 돌려줍니다.

MsgBox, % Sqrt(16) ; Returns 4

삼각함수

주의: 호도 값을 각도로 변환하려면, 180/pi (대략 57.29578)를 곱하십시오. 디그리를 라디안으로 변환하려면 pi/180 (대략 0.01745329252)를 곱합니다. pi의 값 (대략 3.141592653589793)은 1 아크탄젠트의 4 배입니다.

Sin

Returns the trigonometric sine of the specified number.

Value := Sin(Number)

Number는 라디안으로 표현해야 합니다.

MsgBox, % Sin(1.2) ; Returns 0.932039

Cos

Returns the trigonometric cosine of the specified number.

Value := Cos(Number)

Number는 라디안으로 표현해야 합니다.

MsgBox, % Cos(1.2) ; Returns 0.362358

Tan

Returns the trigonometric tangent of the specified number.

Value := Tan(Number)

Number는 라디안으로 표현해야 합니다.

MsgBox, % Tan(1.2) ; Returns 2.572152

ASin

Returns the arcsine (the number whose sine is the specified number) in radians.

Value := ASin(Number)

Number가 -1 보다 작거나 1 보다 크면, 빈 결과 (빈 문자열)을 돌려줍니다.

MsgBox, % ASin(0.2) ; Returns 0.201358

ACos

Returns the arccosine (the number whose cosine is the specified number) in radians.

Value := ACos(Number)

Number가 -1 보다 작거나 1 보다 크면, 빈 결과 (빈 문자열)을 돌려줍니다.

MsgBox, % ACos(0.2) ; Returns 1.369438

ATan

Returns the arctangent (the number whose tangent is the specified number) in radians.

Value := ATan(Number)
MsgBox, % ATan(1.2) ; Returns 0.876058

에러 처리

Invalid operations such as divide by zero generally yield a blank result (empty string).

Abs, Max, Min and Mod return an empty string if any of their incoming parameters are non-numeric. Most math functions do not perform strict type-checking, so may treat non-numeric values as zero or another number. For example, Round("1.0foo") produces 1. However, this is expected to change in AutoHotkey v2.