递归火山软件开发平台

标题: 无论判断结果如何都不成立,我是不是写错了什么? [打印本页]

作者: 曼菲士    时间: 2022-9-26 15:50
标题: 无论判断结果如何都不成立,我是不是写错了什么?
本帖最后由 曼菲士 于 2022-9-26 16:08 编辑

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

现在诡异的是,无论整数数值多少,结果全部是false,条件始终不成立,我试着直接输入 1=1
(, 下载次数: 18)
这样就得肯定执行输出“允许使用”这个的代码了,我这段代码是从数据报的接收数据事件里调用的,在这样的情况下使用 ”文本到整数“ 是不是会引起这样的奇怪问题?
(, 下载次数: 21)
换了很多种姿势,还是不行啊,有遇到类似问题的大神解答吗?





作者: 曼菲士    时间: 2022-9-26 16:20
(, 下载次数: 20)
最后通过收到数据报指令后加个整数参数来解决,貌似判断文本或者把文本转换成整数判断都会有问题,哪怕在数据报的接收数据事件中判断文本也是不行的。




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

我也尝试过,先把文本转换成整数并存放到临时整数变量中,再判断这个变量值,也是失败,如果如您所说存在特殊空白字符,那存放到整数变量再调用也会出异常问题吗?要是这样的话就头疼了,我按这个思路找找问题看。
作者: 曼菲士    时间: 2022-9-27 10:42
创世魂 发表于 2022-9-26 18:27
可能是文本存在特殊的空白字符,导致文本到整数转换失败。

感谢大佬,问题已确定,确实是多余字符引起的问题,用删除首尾空白()就可以了,因为火山视窗发送过来的是unicode转utf8到安卓,估计是转换编码时多了很多字节集0的缘故。




欢迎光临 递归火山软件开发平台 (https://bbs.voldp.com/) Powered by Discuz! X3.4