搜档网
当前位置:搜档网 › VB常见数学函数

VB常见数学函数

https://www.sodocs.net/doc/0415515009.html,/lugege/blog/item/25745d0fc002232a6159f350.html
VB常见数学函数 Abs Atn Cos Exp Fix Int Log Rnd Sgn Sin Sqr Tan 详解
2007年03月06日 星期二 下午 03:07

【名称】
Abs
【类别】
数学函数
【原形】
Abs(number)
【参数】
必选的。Number参数是一个任何有效的数值型表达式
【返回值】
同 number 的类型
【异常/错误】

【描述】
返回参数number 的绝对值。一个数的绝对值是将正负号去掉以后的值。例如,ABS(-1) 和 ABS(1) 都返回 1。Abs(5.2)=5.2,Abs(-5)=5
【示例】
Dim MyNumber
MyNumber = Abs(50.3) ' 返回 50.3。
MyNumber = Abs(-50.3) ' 返回 50.3。
【备注】
如果 number 包含 Null,则返回 Null,如果 number 是未初始化的变量,则返回 0。

-----------------------------------------------------------------

【名称】
Atn
【类别】
数学函数
【原形】
Atn(number)
【参数】
必选的,number 参数是一个 Double或任何有效的数值表达式。
【返回值】
Double类型
【异常/错误】

【描述】
返回参数number 的反正切值。
【示例】
Dim pi
pi = 4 * Atn(1) ' 计算圆周率。
【备注】
Atn 函数的参数值 (number) 为直角三角形两边的比值并返回以弧度为单位的角。这个比值是角的对边长度除以角的邻边长度之商。值的范围在 -pi/2 和 pi/2 弧度之间。为了将角度转换为弧度,请将角度乘以 pi/180。为了将弧度转换为角度,请将弧度乘以 180/pi。
注意:Atn 是 Tan 的反三角函数,Tan 的参数值为角度,返回直角三角形的两条边的比值。不要将 Atn 和余切函数混淆,余切函数值是正切函数值的倒数,cotangent = (1/tangent)。
-----------------------------------------

【名称】
Cos
【类别】
数学函数
【原形】
Cos(number)
【参数】
必选的,number 参数是 Double 或任何有效的数值表达式,表示一个以弧度为单位的角。
【返回值】
Double类型
【异常/错误】

【描述】
返回一个指定一个角的余弦值。
【示例】
Dim MyAngle, MySecant
MyAngle = 1.3 ' 定义角度(以“弧度”为单位)。
MySecant = 1 / Cos(MyAngle) ' 利用余弦计算正割(sec())。
【备注】
Cos 函数的参数为一个角,并返回直角三角形两边的比值。该比值为角的邻边长度除以斜边长度之商。结果的取值范围在 -1 到 1 之间。
为了将角度转换成弧度,请将角度乘以 pi/180。为了将弧度转换成角度,请将弧度乘以 180/pi。

-------------------------------------------

【名称】
Exp
【类别】
数学函数
【原形】
Exp(number)
【参数】
必选的,number 参数是一个 Double 或任何有效的

数值表达式
【返回值】
Double类型
【异常/错误】

【描述】
返回一个指定 e(自然对数的底,e 的值为2.71828)的某次方。
【示例】
' 本示例使用 Exp 函数计算 e的某次方。
Dim MyAngle, MyHSin
' 定义角度(以“弧度”为单位)。
MyAngle = 1.3
' 计算双曲正弦函数值(sin())。
MyHSin = (Exp(MyAngle) - Exp(-1 * MyAngle)) / 2
【备注】
如果 number 的值超过 709.782712893,则会导致错误发生。常数 e 的值大约是 2.718282。注意:Exp 函数的作用和 Log 的作用互补,所以有时也称做反对数。
---------------------------------------

【名称】
Fix
【类别】
数学函数
【原形】
Fix (number)
【参数】
必选的,number 参数是一个 Double 或任何有效的数值表达式
【返回值】
Integer 类型
【异常/错误】

【描述】
将number的小数部分截去,求其整数部分,例如:Fix(3.8)=3,Fix(-3.8)=-3。
【示例】
Dim MyNumber
MyNumber = Fix(99.2) ' 返回 99。
MyNumber = Fix(-99.8) ' 返回 -99。
MyNumber = Fix(-99.2) ' 返回 -99。
【备注】
如果 number 包含 Null,则返回 Null。
---------------------------------------------------------------

【名称】
Int
【类别】
数学函数
【原形】
Int(number)
【参数】
必选的,number 参数是一个 Double 或任何有效的数值表达式
【返回值】
Integer 类型
【异常/错误】

【描述】
求不大于number 的最大整数,Int(3.8)=3,Int(-3.8)=-4。
【示例】
Dim MyNumber
MyNumber = Int(99.8) ' 返回 99。
MyNumber = Int(-99.8) ' 返回 -100。
MyNumber = Int(-99.2) ' 返回 -100。
【备注】
如果 number 包含 Null,则返回 Null。Int 和 Fix 都会删除 number 的小数部份而返回剩下的整数。Int 和 Fix 的不同之处在于,如果 number 为负数,则 Int 返回小于或等于 number 的第一个负整数,而 Fix 则会返回大于或等于 number 的第一个负整数。例如,Int 将 -8.4 转换成 -9,而 Fix 将 -8.4 转换成 -8。
----------------------------------------------------

【名称】
Log
【类别】
数学函数
【原形】
Log(number)
【参数】
必选的,number 参数是一个 Double 或任何有效的大于 0 的数值表达式
【返回值】
Double类型
【异常/错误】

【描述】
返回指定的number参数的自然对数值。
【示例】
本示例使用 Log 函数得到某数的自然对数值。
Dim MyAngle, MyLog
' 定义角度(以“弧度”为单位)。
MyAngle = 1.3
' 计算反双曲正弦函数值(inverse sinh())。
MyLog = Log(MyAngle + Sqr(MyAngle * MyAngle + 1))
【备注】
自然对数是以 e 为底

的对数。常数 e 的值大约是 2.718282。
如下所示,将 x 的自然对数值除以 n 的自然对数值,就可以对任意底 n 来计算数值 x 的对数值:
Logn(x) = Log(x) / Log(n)
下面的示例说明如何编写一个函数来求以 10 为底的对数值:
Static Function Log10(X)
Log10 = Log(X) / Log(10#)
End Function
-------------------------------------------------

【名称】
Rnd
【类别】
数学函数
【原形】
Rnd[(number)]
【参数】
必选的,number 参数是 Single 或任何有效的数值表达式。
【返回值】
如果 number 的值是
Rnd 生成
小于 0
每次都使用 number 作为随机数种子得到的相同结果。
大于 0
序列中的下一个随机数。
等于 0
最近生成的数。
省略
序列中的下一个随机数。
【异常/错误】

【描述】
返回一个包含随机数值的 Single。Rnd 函数返回小于 1 但大于或等于 0 的值。number 的值决定了 Rnd 生成随机数的方式。
对最初给定的种子都会生成相同的数列,因为每一次调用 Rnd 函数都用数列中的前一个数作为下一个数的种子。
在调用 Rnd 之前,先使用无参数的 Randomize 语句初始化随机数生成器,该生成器具有根据系统计时器得到的种子。
为了生成某个范围内的随机整数,可使用以下公式:
Int((upperbound - lowerbound + 1) * Rnd + lowerbound)
这里,upperbound 是随机数范围的上限,而 lowerbound 则是随机数范围的下限。
注意 若想得到重复的随机数序列,在使用具有数值参数的 Randomize 之前直接调用具有负参数值的 Rnd。使用具有同样 number 值的 Randomize 是不会得到重复的随机数序列的。
【示例】
本示例使用 Rnd 函数随机生成一个 1 到 6 的随机整数。
Dim MyValue
MyValue = Int((6 * Rnd) + 1) ' 生成 1 到 6 之间的随机数值。
【备注】


---------------------------------

【名称】
Sgn
【类别】
数学函数
【原形】
Sgn(number)
【参数】
必选的,number 参数是一个 任何有效的数值表达式
【返回值】
如果 number 为
Sgn 返回
大于 0
1
等于 0
0
小于 0
-1
【异常/错误】

【描述】
返回一个 Variant (Integer),指出参数的正负号。number 参数的符号决定了 Sgn 函数的返回值。
【示例】
本示例使用 Sgn 函数来判断某数的正负号。
Dim MyVar1, MyVar2, MyVar3, MySign
MyVar1 = 12: MyVar2 = -2.4: MyVar3 = 0
MySign = Sgn(MyVar1) ' 返回 1。
MySign = Sgn(MyVar2) ' 返回 -1。
MySign = Sgn(MyVar3) ' 返回 0。
【备注】

-------------------------

【名称】

Sin
【类别】
数学函数
【原形】
Sin(number)
【参数】
必选的,number 参数是一个 Double 或任何有效的数值表达式,表示一个以弧度为单位的角。
【返回值】
返回一个Double,指定参数的 sine(正弦)值。
【异常/错误】

【描述】
Sin 函数取一角度为参数值,并返回角的对边长度除以斜边长度的比值。
结果的取值范围在 -1 到 1 之间。
为了将角度转换为弧度,请将角度乘以 pi /180。为了将弧度转换为角度,请将弧度乘以 180/pi。
【示例】
本示例使用 Sin 函数来求出一个角的正弦值(sin())。
Dim MyAngle, MyCosecant
MyAngle = 1.3 ' 定义角度(以“弧度”为单位)。
MyCosecant = 1 / Sin(MyAngle) ' 利用正弦来计算余割(csc())。
【备注】


----------------------------------

【名称】
Sqr
【类别】
数学函数
【原形】
Sqr(number)
【参数】
必选的,number 参数是一个Double 或任何有效的大于或等于 0 的数值表达式。
【返回值】
返回一个 Double。
【异常/错误】

【描述】
返回指定参数number 的平方根
【示例】
本示例使用 Sqr 函数来计算某数的平方根。
Dim MySqr
MySqr = Sqr(4) ' 返回 2。
MySqr = Sqr(23) ' 返回 4.79583152331272。
MySqr = Sqr(0) ' 返回 0。
MySqr = Sqr(-4) ' 生成一个运行时错误(负数不能用此函数开平方根)。
【备注】

------------------------------------

【名称】
Tan
【类别】
数学函数
【原形】
Tan(number)
【参数】
必选的,number 参数是一个Double 或任何有效的数值表达式,表示一个以弧度为单位的角度。
【返回值】
返回一个 Double。
【异常/错误】

【描述】
返回指定参数number 的正切值。Tan 取一角度为参数值,并返回直角的两条邻边的比值。该比值是角的对边长度除以角的邻边长度的商。
为了将角度转换为弧度,请将角度乘以 pi/180/180。为了将弧度转换为角度,请将弧度乘以 180/pi。
【示例】
本示例使用 Tan 函数来求出一个角的正切(tan())。
Dim MyAngle, MyCotangent
MyAngle = 1.3 ' 定义角度(以“弧度”为单位)。
MyCotangent = 1 / Tan(MyAngle) ' 利用正切来计算余切(cot())。
【备注】
以下为非基本数学函数的列表,皆可由基本数学函数导出:
函数
由基本函数导出之公式
Secant(正割)
Sec(X) = 1 / Cos(X)
Cosecant(余割)
Cosec(X) = 1 / Sin(X)
Cotangent(余切)
Cotan(X) = 1 / Tan(X)
Inverse Sine (反正弦)
Arcsin(X) = Atn(X / Sqr(-X * X + 1)

)
Inverse Cosine (反余弦)
Arccos(X) = Atn(-X / Sqr(-X * X + 1)) + 2 * Atn(1)
Inverse Secant (反正割)
Arcsec(X) = Atn(X / Sqr(X * X - 1)) + Sgn((X) - 1) * (2 * Atn(1))
Inverse Cosecant (反余割)
Arccosec(X) = Atn(X / Sqr(X * X - 1)) + (Sgn(X) - 1) * (2 * Atn(1))
Inverse Cotangent(反余切)
Arccotan(X) = Atn(X) + 2 * Atn(1)
Hyperbolic Sine (双曲正弦)
HSin(X) = (Exp(X) - Exp(-X)) / 2
Hyperbolic Cosine (双曲余弦)
HCos(X) = (Exp(X) + Exp(-X)) / 2
Hyperbolic Tangent (双曲正切)
HTan(X) = (Exp(X) - Exp(-X)) / (Exp(X) + Exp(-X))
Hyperbolic Secant (双曲正割)
HSec(X) = 2 / (Exp(X) + Exp(-X))
Hyperbolic Cosecant(双曲余割)
HCosec(X) = 2 / (Exp(X) - Exp(-X))
Hyperbolic Cotangent(双曲余切)
HCotan(X) = (Exp(X) + Exp(-X)) / (Exp(X) - Exp(-X))
Inverse Hyperbolic Sine(反双曲正弦)
HArcsin(X) = Log(X + Sqr(X * X + 1))
Inverse Hyperbolic Cosine(反双曲余弦)
HArccos(X) = Log(X + Sqr(X * X - 1))
Inverse Hyperbolic Tangent(反双曲正切)
HArctan(X) = Log((1 + X) / (1 - X)) / 2
Inverse Hyperbolic Secant(反双曲正割)
HArcsec(X) = Log((Sqr(-X * X + 1) + 1) / X)
Inverse Hyperbolic Cosecant
HArccosec(X) = Log((Sgn(X) * Sqr(X * X + 1) + 1) / X)
Inverse Hyperbolic Cotangent (反双曲余切)
HArccotan(X) = Log((X + 1) / (X - 1)) / 2
以 N 为底的对数
LogN(X) = Log(X) / Log(N)

相关主题