技术论坛

回复:ASCII 子字符串转换为数值——帮助说明文档有误!

将好帖分享好友
作者 主题
至圣

经验值: 56839
发帖数: 13114
精华帖: 90
回复:ASCII 子字符串转换为数值——帮助说明文档有误!


只看楼主 2021-12-22 17:32:37
以下是引用看雪001在2021-12-22 13:50:47的发言 >8楼

字符串转换只需要指定第一位,后面多少位不需要指定的,你看看红色字体最后一段,达到字符串结尾或遇到第一个无效字符时,转换中止。

这么看,它需要指定字符串长度吗?并不!

以下是引用芳季在2021-12-22 07:47:48的发言 >2楼:字符串第一个字节是...

引用2楼详细内容:

字符串第一个字节是什么?是不是没有了这个,剩下的就不能叫字符串了?

只能叫乌合之串。如果没了第一个字符数,究竟要转换到什么位置才停止?

你试试把T字改成16进制数值2字看看它还能转换出77.8不?

达到字符串结尾或遇到第一个无效字符时……

你例子你还不明白为什么能转换得出77.8?发生结束条件是遇到第一个无效字符。因为整个字符串是84个字节。8字后面就是无效字符了。所以转换你觉得正确。

这个84你能理解吗?

这么看,它需要指定字符串长度吗?并不!

你虽然没有人为指定字符串长度,并且转换也好像正确了。但是plc却强制认为第一个字节是字符串长度,它的态度不由你改变。大写T就是数值84。

这个84你能理解吗?

在84个字节的字符串里面从第12个字符开始转换,当然可以转换出77.8啦。

回看我本楼第一句话。如果第一个字节是2字,表示这个字符串是两个字节,那么何来可以有第12个字符?转换只能失败。

懂我意思没有?


 
将好帖分享好友
以下网友喜欢您的帖子:

  
重要声明:

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1740824&b_id=64&s_id=0&num=0

  • 上一页
  • 1
  • 下一页
收起
回复:ASCII 子字符串转换为数值——帮助说明文档有误!
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。