TC官方合作论坛

标题: 补充TC5数学计算----整除 [打印本页]

作者: venski    时间: 2015-5-29 17:01
标题: 补充TC5数学计算----整除
本帖最后由 venski 于 2015-5-29 17:29 编辑

整除在很多情况下主要用于浮点的计算,,,有时候你会用得到.
整除不等同于除法.
整数的规律是,被除数和除数,当有小数的情况时,如果整数部分是偶数时,判断其小数是否为0.5,如果是0.5那么舍去小数部分取整,其它情况按照正常四舍五入规则.
如果被除数和除数的整数部分是奇数时,按正常四舍五入规则.

科普一下,在TC中
取整(5.8),结果为5,只取整数部分,不进行四舍五入.
转整型(5.8) 结果为6,按正常四舍五入规则运算.

以下是TC5整除的源代码

功能 数学整除(被除数,除数)
    变量 新被除数,新除数,计算结果
    变量 被除数整型部分=取整(被除数)
    变量 除数整型部分=取整(除数)
    如果(被除数整型部分%2==0)
       //偶数,如果小数部分为0.5,则舍去小数,其它小数大于0.5或小于0.5,则四舍五入规则
        变量 字符串型被除数=转字符型(被除数)
        如果(字符串查找(字符串型被除数,".")>-1)
            变量 小数数组=数组()
            变量 元素数量=字符串分割(字符串型被除数,".",小数数组)
            变量 取小数部分="0."&小数数组[1]
            变量 小数的值=转浮点型(取小数部分)
            如果(小数的值==0.5)
                新被除数=取整(被除数)
            否则
                新被除数=转整型(被除数)
            结束
        否则
            新被除数=被除数
        结束
    否则
        //奇数,正常四舍五入
        新被除数=转整型(被除数)
    结束

    如果(除数整型部分%2==0)
        //偶数,如果小数部分为0.5,则舍去小数,其它小数大于0.5或小于0.5,则四舍五入规则
        变量 字符串型除数=转字符型(除数)
        如果(字符串查找(字符串型除数,".")>-1)
            变量 小数数组=数组()
            变量 元素数量=字符串分割(字符串型除数,".",小数数组)
            变量 取小数部分="0."&小数数组[1]
            变量 小数的值=转浮点型(取小数部分)
            如果(小数的值==0.5)
                新除数=取整(除数)
            否则
                新除数=转整型(除数)
            结束
        否则
            新除数=除数
        结束
    否则
        //奇数,正常四舍五入
        新除数=转整型(除数)
    结束

    //计算结果后,取整操作,只取整数部分,不进行四舍五入
    计算结果=取整(新被除数/新除数)
    返回 计算结果
结束



以上纯属个人娱乐,如果有错误,请批评!





作者: venski    时间: 2015-5-29 17:30
调试输出(数学整除(8.5,2))
调试输出(数学整除(8.4,2))
调试输出(数学整除(8.51,2))
调试输出(数学整除(9.4,2.5))
调试输出(数学整除(9.5,2))
作者: fuxiaojun185    时间: 2015-5-29 17:46
支持




欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/) Powered by Discuz! X3.1