[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
本帖最后由 Byaidu 于 2018-5-12 20:16 编辑

看得出来楼主的算法能力的确而很强啊,每次发帖都是好长的一段代码,让我看得眼花缭乱……
通过切割数字分段计算来避免溢出是高精度计算的常用方法,求小数点的位置也想到了用倍增法来解决,可以说是精益求精了
不过您这个CUTNUM函数似乎有BUG的样子,没考虑前导零识别为八进制的情况……

CALL :MULTIPLICATION 1×0.10000000011323656236523
CALL :MULTIPLICATION 1×0.90000000011323656236523
返回的却是
=0.08000000011323656236523
无效数字。数字常数只能是十进制(17),十六位进制(0x11)或八进制(021)。
=0.00000000011323656236523

把第93行改成set num=000%1就能解决这个问题,虽然这样会多算一组0*0但对结果应该没有影响
1

评分人数

TOP

返回列表