TC官方合作论坛

标题: 严重影响运行结果的BUG [打印本页]

作者: 贪吃蛇    时间: 2014-2-18 19:13
标题: 严重影响运行结果的BUG
本帖最后由 贪吃蛇 于 2014-2-18 19:17 编辑

TC默认将“0.123”这种纯小数自动转换为“.123”格式,“.123”格式的小数作为函数参数时会报错,但如果函数参数是变量,且变量的值是“.123”格式就不会报错,并且小数“.123”自动变成了空值。如下列代码所示:
  1. var a=.5
  2. traceprint(测试.小数参数(a))
  3. function 小数参数(纯小数)
  4.     var x=""
  5.     x="纯小数="&纯小数
  6.     return x   
  7. endfunction
复制代码

运行得到的结果是:
输出>>“纯小数=”                  行号:…………





作者: 菜鸟狙丶    时间: 2014-2-18 20:01
楼主正解,顶一个!
作者: 菜鸟狙丶    时间: 2014-2-18 20:03
本帖最后由 菜鸟狙丶 于 2014-2-18 20:09 编辑
  1. 空间 脚本
  2. //默认空间
  3. 变量 测试=0.123

  4. //开始按钮_点击操作
  5. 功能 开始_点击()
  6. 辅助.消息框(测试)
  7. 功能结束

  8. 空间结束
  9. //空间结束语句
复制代码

消息框弹出来的是 “.123 ”







但是改一下
  1. 空间 脚本
  2. //默认空间
  3. 变量 测试=01.123

  4. //开始按钮_点击操作
  5. 功能 开始_点击()
  6. 辅助.消息框(测试)
  7. 功能结束

  8. 空间结束
  9. //空间结束语句
复制代码

消息框弹出来的就是“1.123” 。







再改一下
  1. 空间 脚本
  2. //默认空间
  3. 变量 测试=101.123

  4. //开始按钮_点击操作
  5. 功能 开始_点击()
  6. 辅助.消息框(测试)
  7. 功能结束

  8. 空间结束
  9. //空间结束语句
复制代码

消息框弹出来的就是正确的“101.123”。
作者: jimye0526    时间: 2014-2-18 20:20
赋值的失败,  .5是不规范的写法 赋值失败 你下个断点就知道了


作者: jimye0526    时间: 2014-2-18 20:20
本帖最后由 jimye0526 于 2014-2-18 20:22 编辑

还有tc哪个函数是有把小数的。之前的数去掉的
有bug的话也就是tc编译时的错误检测不完善



作者: 383877954    时间: 2014-2-18 21:36
前面加个0就OK了我就是前面加了个连接符然后弄了个0,最后就没事了
作者: kevinqq    时间: 2014-2-19 09:48
关于 0.5 会把0 去掉 是可变类型的一种特性,不是bug

作者: 贪吃蛇    时间: 2014-2-19 15:37
kevinqq 发表于 2014-2-19 09:48
关于 0.5 会把0 去掉 是可变类型的一种特性,不是bug

我是新手,说错见谅
.5直接作为函数参数会报错,但间接作为函数参数就不报错,这点希望改进。




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