VB自带有呀 如果不够,看 http://community.csdn.net/Expert/FAQ/FAQ_Index.asp?id=181887再不够,我以前用的代码,应该没问题的: Public Function Sec(InputNum As Double) As Double Sec = 1 / Cos(InputNum) End FunctionPublic Function Csc(InputNum As Double) As Double Csc = 1 / Sin(InputNum) End FunctionPublic Function Cot(InputNum As Double) As Double Cot = 1 / Tan(InputNum) End FunctionPublic Function ArcSin(InputNum As Double) As Double If InputNum = 1 Then ArcSin = 1.5707963267949: Exit Function If InputNum = -1 Then ArcSin = -1.5707963267949: Exit Function ArcSin = Atn(InputNum / Sqr(-InputNum * InputNum + 1)) End FunctionPublic Function ArcCos(InputNum As Double) As Double If InputNum = 1 Then ArcCos = 0: Exit Function If InputNum = -1 Then ArcCos = 3.14159265358979: Exit Function ArcCos = Atn(-InputNum / Sqr(-InputNum * InputNum + 1)) + 2 * Atn(1) End FunctionPublic Function ArcCot(InputNum As Double) As Double ArcCot = Atn(InputNum) + 2 * Atn(1) End FunctionPublic Function ArcSec(InputNum As Double) As Double 'ArcSec = Atn(InputNum / Sqr(InputNum * InputNum - 1)) + Sgn((InputNum) - 1) * (2 * Atn(1)) If InputNum > 0 Then ArcSec = Atn(Sqr(InputNum ^ 2 - 1)) Else ArcSec = 3.14159265358979 - Atn(Sqr(InputNum ^ 2 - 1)) End If End FunctionPublic Function ArcCsc(InputNum As Double) As Double 'ArcCsc = Atn(InputNum / Sqr(InputNum * InputNum - 1)) + (Sgn(InputNum) - 1) * (2 * Atn(1)) ArcCsc = -ArcSec(InputNum) + 1.5707963267949 End Function
如果不够,看
http://community.csdn.net/Expert/FAQ/FAQ_Index.asp?id=181887再不够,我以前用的代码,应该没问题的:
Public Function Sec(InputNum As Double) As Double
Sec = 1 / Cos(InputNum)
End FunctionPublic Function Csc(InputNum As Double) As Double
Csc = 1 / Sin(InputNum)
End FunctionPublic Function Cot(InputNum As Double) As Double
Cot = 1 / Tan(InputNum)
End FunctionPublic Function ArcSin(InputNum As Double) As Double
If InputNum = 1 Then ArcSin = 1.5707963267949: Exit Function
If InputNum = -1 Then ArcSin = -1.5707963267949: Exit Function
ArcSin = Atn(InputNum / Sqr(-InputNum * InputNum + 1))
End FunctionPublic Function ArcCos(InputNum As Double) As Double
If InputNum = 1 Then ArcCos = 0: Exit Function
If InputNum = -1 Then ArcCos = 3.14159265358979: Exit Function
ArcCos = Atn(-InputNum / Sqr(-InputNum * InputNum + 1)) + 2 * Atn(1)
End FunctionPublic Function ArcCot(InputNum As Double) As Double
ArcCot = Atn(InputNum) + 2 * Atn(1)
End FunctionPublic Function ArcSec(InputNum As Double) As Double
'ArcSec = Atn(InputNum / Sqr(InputNum * InputNum - 1)) + Sgn((InputNum) - 1) * (2 * Atn(1))
If InputNum > 0 Then
ArcSec = Atn(Sqr(InputNum ^ 2 - 1))
Else
ArcSec = 3.14159265358979 - Atn(Sqr(InputNum ^ 2 - 1))
End If
End FunctionPublic Function ArcCsc(InputNum As Double) As Double
'ArcCsc = Atn(InputNum / Sqr(InputNum * InputNum - 1)) + (Sgn(InputNum) - 1) * (2 * Atn(1))
ArcCsc = -ArcSec(InputNum) + 1.5707963267949
End Function