曼菲士 发表于 2022-9-26 15:50:39

无论判断结果如何都不成立,我是不是写错了什么?

本帖最后由 曼菲士 于 2022-9-26 16:08 编辑


我的安卓代码是这样的,数据报收到信息后,对停用时间进行判断,如果收到的是整数,通过文本转整数会得到大于0的数字,如果是一个日期型文本,肯定是得到0的
如果(停用时间>0)
   输出显示”允许使用时间xx分钟"
否则
输出显示"停用时间2022年xx月xx日xx时xx分xx秒"

现在诡异的是,无论整数数值多少,结果全部是false,条件始终不成立,我试着直接输入 1=1

这样就得肯定执行输出“允许使用”这个的代码了,我这段代码是从数据报的接收数据事件里调用的,在这样的情况下使用 ”文本到整数“ 是不是会引起这样的奇怪问题?

换了很多种姿势,还是不行啊,有遇到类似问题的大神解答吗?




曼菲士 发表于 2022-9-26 16:20:09


最后通过收到数据报指令后加个整数参数来解决,貌似判断文本或者把文本转换成整数判断都会有问题,哪怕在数据报的接收数据事件中判断文本也是不行的。



创世魂 发表于 2022-9-26 18:27:30

可能是文本存在特殊的空白字符,导致文本到整数转换失败。

曼菲士 发表于 2022-9-26 20:01:02

创世魂 发表于 2022-9-26 18:27
可能是文本存在特殊的空白字符,导致文本到整数转换失败。

我也尝试过,先把文本转换成整数并存放到临时整数变量中,再判断这个变量值,也是失败,如果如您所说存在特殊空白字符,那存放到整数变量再调用也会出异常问题吗?要是这样的话就头疼了,我按这个思路找找问题看。

曼菲士 发表于 2022-9-27 10:42:16

创世魂 发表于 2022-9-26 18:27
可能是文本存在特殊的空白字符,导致文本到整数转换失败。
感谢大佬,问题已确定,确实是多余字符引起的问题,用删除首尾空白()就可以了,因为火山视窗发送过来的是unicode转utf8到安卓,估计是转换编码时多了很多字节集0的缘故。
页: [1]
查看完整版本: 无论判断结果如何都不成立,我是不是写错了什么?