求n次方根-name
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> Access数据库-模块/函数/VBA


求n次方根

发表时间:2019/1/8 8:33:47 评论(0) 浏览(4148)  评论 | 加入收藏 | 复制
   
摘 要:求一个数的n次方根
正 文:

问题描述: 

如何求一个数的n次方根?

文章来源于Access论坛帖子 http://www.accessoft.com/bbs/showtopic.asp?id=30352 西出阳关无故人 版主的回答


解决方法: 

'使用方法:开方(被开方数,次方,是否只获取平方根)   开方(4,2)    开方(4,2,False)

'如果输入的参数"次方"为奇数或者没指定参数"算术平方根",默认计算的是算术平方根

'如果输入的参数"次方"为偶数并且指定参数"算术平方根"为True,返回的是数组 数组下标为0的是正数方根 下标为1的是负数方根

Function 开方(被开方数 As Double, 次方 As Double, Optional 算术平方根 As Boolean = False)
    If 次方 Mod 2 = 0 And 被开方数 < 0 Then
        MsgBox "次方为偶数时 输入的被开方数不能为负数!", vbOKOnly, "参数错误"
        Exit Function
    End If
    If 次方 Mod 2 = 0 And 算术平方根 = True Then
        Dim arrRes(2) As Double
        arrRes(0) = 被开方数 ^ (1 / 次方)
        arrRes(1) = 0 - arrRes(0)
        开方 = arrRes
        Exit Function
    End If
    开方 = (IIf(被开方数 > 0, 被开方数, 0 - 被开方数) ^ (1 / 次方)) * (IIf(被开方数 < 0 And 次方 Mod 2 <> 0, -1, 1))
End Function


用法示例: 

Function test开方()
    '正确示例1
    MsgBox 开方(2.56, 2)
    MsgBox 开方(-8, 3)
    '正确示例2
    MsgBox 开方(2.56, 2.2, False)
    '正确示例3
    Dim arrRes As Variant
    arrRes = 开方(2.56, 2, True)
    MsgBox arrRes(0)
    MsgBox arrRes(1)
    MsgBox 开方(2.56, 2, True)(0)
    MsgBox 开方(2.56, 2, True)(1)
    '错误示例
    'MsgBox 开方(-4, 2)
    'MsgBox 开方(-4, 2, True)
    'MsgBox 开方(-4, 2, False)
End Function


Access软件网交流QQ群(群号:198465573)
 
 相关文章
支持化学分子式符号(上标下标)编辑的两个例子  【咱家是猫  2008/4/25】
具有与电子表格中一样方便的求和、计数、平均值、方差、最大值、最小值...  【曹光耀  2010/11/26】
[转帖]4种在access表中保存显示上标下标平方  【十段  2011/7/13】
【access入门】聚合函数的示例\聚合函数应用举例,Sum合计\...  【麥田  2012/3/25】
【Access示例】开根通用函数\开次方函数示例;VBA开方根函数...  【缪炜  2015/6/7】
普通文本转换成化学分子式  【lzk  2015/12/24】
常见问答
技术分类
相关资源
文章搜索
关于作者

name

文章分类

文章存档

友情链接