TC官方合作论坛

 找回密码
 立即注册
查看: 780|回复: 2

[已解决] "错误信息:除法运算中,除数不能为0"

[复制链接]
发表于 2016-3-15 16:53:46 | 显示全部楼层 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
  1. 功能 dbx(dn, zn)
  2.     //定义包装要求参考标准数组
  3.     变量 bz = 数组(2000, 1500, 1000, 500, 300, 250, 200, 150, 100, 50)
  4.     //按理论计算15kg一包的数量
  5.     变量 Wr1 = 取整(dn / (zn / 15))
  6.     变量 Wr2
  7.     变量 Wr3
  8.     如果(Wr1 > 2000)
  9.         如果(dn < 4000)
  10.             返回 1000
  11.         否则
  12.             返回 2000
  13.         结束
  14.     否则
  15.         遍历(变量 i = 1; i < 10; i ++)
  16.             如果(Wr1 > bz[i])
  17.                 Wr2 = bz[i]
  18.                 Wr3 = bz[i + 1]
  19.                 跳出
  20.             结束
  21.         结束
  22.         如果(dn < 500 && zn < 20)
  23.             返回 dn
  24.         否则如果(Wr2 = bz[9])
  25.             返回 Wr2
  26.         否则如果((dn % Wr2) / Wr2 < (dn % Wr3) / Wr3)
  27.             返回 Wr2
  28.         否则
  29.             返回 Wr3
  30.         结束
  31.     结束
  32. 结束
复制代码
  1. 调试输出(dbx(499, 19))
复制代码
以上调试输出能正常显示结果499
但是如果是
  1. 调试输出(dbx(499, 9))
复制代码
运行就会提示 "错误信息:除法运算中,除数不能为0",
请问为什么?到底那里的脚本处理有问题?
按道理 满足 (dn < 500 && zn < 20) 这个条件后就直接返回 499了不应该会涉及到后面的除法运算了啊



回复

使用道具 举报

发表于 2016-3-16 05:45:50 | 显示全部楼层
功能 dbx(dn, zn)
    //定义包装要求参考标准数组
    变量 bz = 数组(2000, 1500, 1000, 500, 300, 250, 200, 150, 100, 50)
    //按理论计算15kg一包的数量
    //************************************************************
    //如果(zn < 15)//为了保证不为0,所以小于15的,都设为15,因为15/15=1
    //zn=15
    //结束
    //************************************************************
    //变量 Wr1 = 取整(dn / (zn / 15))//取整(499 / (9 / 15)) = 499 / 0
    变量 Wr1 = 取整(dn / (zn / 15.0))  //小数除以大数都为0,因为它是整数相除,除非把15改成15.0
    变量 Wr2                           //这时结果为0.6
    变量 Wr3
    如果(Wr1 > 2000)
        如果(dn < 4000)
            返回 1000
        否则
            返回 2000
        结束
    否则
        遍历(变量 i = 1; i < 10; i ++)
            如果(Wr1 > bz[i])
                Wr2 = bz[i]
                Wr3 = bz[i + 1]
                跳出
            结束
        结束
        如果(dn < 500 && zn < 20)
            返回 dn
        否则如果(Wr2 = bz[9])
            返回 Wr2
        否则如果((dn % Wr2) / Wr2 < (dn % Wr3) / Wr3)
            返回 Wr2
        否则
            返回 Wr3
        结束
    结束
结束
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-3-16 07:43:22 | 显示全部楼层
言术 发表于 2016-3-16 05:45
功能 dbx(dn, zn)
    //定义包装要求参考标准数组
    变量 bz = 数组(2000, 1500, 1000, 500, 300, 250,  ...

谢谢,刚接触TC几天,没注意到整整相除等于整形这个关键点
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18045623号)

GMT+8, 2024-9-28 11:49 , Processed in 0.075365 second(s), 23 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

快速回复 返回顶部 返回列表