[bug]label赋值string类型异常

creator 1.6正式版 windows 平台

native发布, default构建, android和win32都遇到,
web发布没有问题

bug: label的string属性赋值. 没有把数字类型正确转换成string

打印出问题的代码位置在
jsb_polyfill.js 9999行左右的 Label中的_updateSgNodeString函数

number属性在c++中卡断点setString后多了 .00后缀
一开始是没有.00的. 多赋值几次后一个界面的部分ui多出了.00

我是赋值6, 但显示6.00

听起来比较严重的问题,做个标记看看

能不能给一下你赋值的代码,或者范例,我这边测试并不会出现,thx

赋值很简单
this.label.string = 6;
但运行一次肯定是对的。
需要用定时器一直刷新赋值。

是啊,我就是在 update 里面一直赋值,你模拟器测试过吗?

至于吗
6+""
不就好了

这个问题确实存在,只是我在外加了parseInt略过了。

那你是怎么重现的?能否给我一个方式,感谢

前段时间没空, 今天终于不用带娃了.
花了一下午, 在项目中一点点找. 终于找出了出问题的地方.
写了个简短的测试代码.
在最新的1.6.2beta中也有

在c++中, 绑定代码中label_setString获取string进行类型判断时, 判断出的类型是Number, 不是int, 就采用了Number的格式化, 就出现了.00

test.zip (3.5 KB)

还有1个bug, 暂时没法提供测试样例,

在模拟器 比如蓝叠, 腾讯的游戏模拟器

进行 运算 会闪退. 比如 var list = [0, 1, 2, 3, 4, 5, 6]; var len = list.length if ((len 3) === 2) //这里就会闪退, 但不是100%, 这段代码是一个for循环中的, 闪退出现不是固定的索引位置
换成 len - Math.floor( len / 3) * 3 就正常了.

好的,谢谢反馈