# 数学函数

用于执行各种数学运算的函数, 如四舍五入, 取幂, 平方等.

## 目录

- 常规数学:
  - Abs: 返回数字的绝对值.
  - Ceil: 返回数字向上到的最近的整数.
  - Exp: 返回 e 的 N 次方.
  - Floor: 返回数字向下到的最近的整数.
  - Log: 返回数字的对数(10 为底).
  - Ln: 返回数字的自然对数(e 为底).
  - Max: 返回一组数字中的最大值.
  - Min: 返回一组数字中的最小值.
  - Mod: 取模. 返回除法的余数.
  - Round: 返回四舍五入到 N 位小数的数字.
  - Sqrt: 返回数字的平方根.
- 三角函数:
  - Sin: 返回一个数字的三角正弦值.
  - Cos: 返回数字的三角余弦值.
  - Tan: 返回数字的三角正切值.
  - ASin: 返回以弧度表示的反正弦值.
  - ACos: 返回以弧度表示的反余弦值.
  - ATan: 返回以弧度表示的反正切值.
- 错误处理

## 常规数学

### Abs

返回指定数字的绝对值.

    Value := Abs(Number)

返回值的类型和 Number 的一样(整数或浮点数).

    MsgBox Abs(-1.2) ; 返回 1.2

### Ceil

返回指定数字向上取整后的整数(不含任何 .00 后缀).

    Value := Ceil(Number)

    MsgBox Ceil(1.2)  ; 返回 2
    MsgBox Ceil(-1.2) ; 返回 -1

### Exp

返回 e(近似值为 2.71828182845905) 的 N 次幂.

    Value := Exp(N)

N 可以为负数或十进制小数. 要计算 e 之外的数字的幂, 请使用 ** 运算符.

    MsgBox Exp(1.2) ; 返回 3.320117

### Floor

返回指定数字向下取整后的整数(不含任何 .00 后缀).

    Value := Floor(Number)

    MsgBox Floor(1.2)  ; 返回 1
    MsgBox Floor(-1.2) ; 返回 -2

### Log

返回指定数字的对数(10 为底).

    Value := Log(Number)

结果为浮点数. 如果 Number 为负数, 则抛出 ValueError.

    MsgBox Log(1.2) ; 返回 0.079181

### Ln

返回指定数字的自然对数(e 为底).

    Value := Ln(Number)

结果为浮点数. 如果 Number 为负数, 则抛出 ValueError.

    MsgBox Ln(1.2) ; 返回 0.182322

### Max

返回一组数字中的最大值.

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

    MsgBox Max(2.11, -2, 0) ; 返回 2.11

你还可以指定一个可变参数来传递数字的数组. 例如:

    Numbers := [1, 2, 3, 4]
    MsgBox Max(Numbers*) ; 返回 4

### Min

返回一组数字中的最小值.

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

    MsgBox Min(2.11, -2, 0) ; 返回 -2

你还可以指定一个可变参数来传递数字的数组. 例如:

    Numbers := [1, 2, 3, 4]
    MsgBox Min(Numbers*) ; 返回 1

### Mod

取模运算. 返回一个数字(被除数) 除以另一个数字(除数) 的余数.

    Value := Mod(Dividend, Divisor)

结果的正负号总是与第一个参数相同. 如果任意一个输入是浮点数, 则结果也是浮点数. 如果第二个参数为 0, 则抛出 ValueError .

    MsgBox Mod(7.5, 2) ; 返回 1.5 (2 x 3 + 1.5)

### Round

返回指定数字四舍五入到 N 位小数的数字.

    Value := Round(Number , N)

如果 N 省略或为 0, Number 四舍五入到整数:

    MsgBox Round(3.14)    ; 返回 3

如果 N 为正数, Number 四舍五入到 N 位小数:

    MsgBox Round(3.14, 1) ; 返回 3.1

如果 N 为负数, Number 四舍五入到小数点左边 N 位:

    MsgBox Round(345, -1) ; 返回 350
    MsgBox Round(345, -2) ; 返回 300

如果 N 省略或小于 1, 结果为整数. 否则, 结果为精确到 N 位小数的数字字符串. 如果需要纯数字, 只需对 Round 的返回值执行另一个数学运算; 例如: `Round(3.333, 1)+0`.

### Sqrt

返回指定数字的平方根.

    Value := Sqrt(Number)

结果为浮点数. 如果 Number 为负数, 则抛出 ValueError.

    MsgBox Sqrt(16) ; 返回 4

## 三角函数

注意: 要将弧度值转换为度数值, 可用弧度值乘以 180/pi(约为 57.29578). 要将度数值转为弧度值, 可用度数值乘以 pi/180(约为 0.01745329252). pi(约为 3.141592653589793) 的值为 4 乘以 1 的反正切.

### Sin

返回指定数字的正弦.

    Value := Sin(Number)

Number 必须为弧度值.

    MsgBox Sin(1.2) ; 返回 0.932039

### Cos

返回指定数字的余弦值.

    Value := Cos(Number)

Number 必须为弧度值.

    MsgBox Cos(1.2) ; 返回 0.362358

### Tan

返回指定数字的正切值.

    Value := Tan(Number)

Number 必须为弧度值.

    MsgBox Tan(1.2) ; 返回 2.572152

### ASin

返回以弧度表示的反正弦值(其正弦值为指定数字).

    Value := ASin(Number)

如果 Number 小于 -1 或大于 1, 则抛出 ValueError.

    MsgBox ASin(0.2) ; 返回 0.201358

### ACos

返回以弧度表示的反余弦值(其余弦值为指定数字).

    Value := ACos(Number)

如果 Number 小于 -1 或大于 1, 则抛出 ValueError.

    MsgBox ACos(0.2) ; 返回 1.369438

### ATan

返回以弧度表示的反正切值(其正切值为指定数字).

    Value := ATan(Number)

    MsgBox ATan(1.2) ; 返回 0.876058

## 错误处理

如果传入的参数是非数字的, 或者尝试执行无效操作(如除以0), 则这些函数抛出异常.

dftg