mod函数是什么意思-用来计算两数相除后的余数
当初熬夜做办公表格工时统计,死活搞不懂mod函数是什么意思,网上一堆规整的专业解释看得人头昏脑涨,全是脱离实操的空话,对着表格反复试错,硬生生浪费了一整晚的时间。
一开始瞎套公式,所有数据全部出错。
当时手里的工作是整理门店员工的月度加班时长,系统导出的原始数据全是总分钟数,需要统一换算成小时加剩余分钟的格式,方便台账登记。最开始直接用普通除法公式计算,算出来的全是带小数的数值,比如138分钟算出来2.3小时,没办法精准拆分出完整小时和剩余分钟,报表格式完全不达标。同事随口提了一句用mod函数取数,本以为是简单操作,结果照着教程输入参数后,数据时对时错,完全找不到规律,翻遍了科普内容,只知道它是取余函数,却没人讲清楚日常办公里到底该怎么用、哪些情况会算错,对着密密麻麻的单元格改了一遍又一遍,越改越烦躁,原本半小时能做完的工作,硬生生拖了三个多小时。
折腾好久才搞明白,mod函数的核心逻辑特别简单,就是算出两个数字相除之后,没办法整除剩下的余数,不是四舍五入的小数,也不是近似值,是精准的剩余数值。
实际用下来,最贴合办公的用法就一个,固定公式格式mod(被除数,除数),拿我当时的加班时长举例,138分钟换算小时,除数就是60,输入mod(138,60),最后得出的数值18,就是整除2小时之后多出来的18分钟,刚好是报表需要的零散时长数据。
之前所有的出错,都是混淆了小数结果和整除余数的区别。
当时还犯了个特别没必要的错,闲着无聊测试小数除数的情况,输入mod(120,15.5),出来的数值完全超出预期,瞬间又陷入混乱,怀疑自己是不是压根理解错了函数逻辑。后来才反应过来,日常工作、基础编程里用到mod函数,几乎全部是整数运算,小数除数的使用场景极少,根本没必要纠结,纯属自己给自己找没必要的麻烦,白白浪费了好多时间。
根本不用死记硬背那些书面定义,不用管什么周期性取模、模运算原理,普通人日常使用,只需要记住一个判断标准:只要你需要拆分整除后剩下的零散数值,直接用mod函数就对了。不管是表格统计时长、计算周期余数、数据分组筛选,核心用途全部都是取整除余数,没有复杂的衍生用法。
还有个很容易忽略的点,mod函数计算出来的余数,符号永远和除数保持一致,当初没注意这个细节,统计负数时长数据时又翻车了一次,正数除数得出正数余数,负数除数得出负数余数,这个小细节不记住,特殊数据场景下依旧会出错。
改完最后一行表格数据的时候,电脑屏幕的光暗了一度,随手保存文件,瘫在椅子上盯着屏幕里规整的工时数据发呆。