签到有奖
消息提醒
运维工程师专区
官方商城
扫码分享好友 任选多种周边
字符串转换只需要指定第一位,后面多少位不需要指定的,你看看红色字体最后一段,达到字符串结尾或遇到第一个无效字符时,转换中止。
这么看,它需要指定字符串长度吗?并不!
引用2楼详细内容:
字符串第一个字节是什么?是不是没有了这个,剩下的就不能叫字符串了?
只能叫乌合之串。如果没了第一个字符数,究竟要转换到什么位置才停止?
你试试把T字改成16进制数值2字看看它还能转换出77.8不?
达到字符串结尾或遇到第一个无效字符时……
你例子你还不明白为什么能转换得出77.8?发生结束条件是遇到第一个无效字符。因为整个字符串是84个字节。8字后面就是无效字符了。所以转换你觉得正确。
这个84你能理解吗?
你虽然没有人为指定字符串长度,并且转换也好像正确了。但是plc却强制认为第一个字节是字符串长度,它的态度不由你改变。大写T就是数值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
分享
扫码分享好友 任选多种好礼
收藏
有帮助
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!
密码至少8位,包含大、小写字母,数字和符号至少三种。
允许邮箱和手机接收来自支持中心网站的信息
我已同意《支持中心网站注册协议和隐私政策》
微信登录扫码一键登录
验证码登录
密码登录
二维码失效点击重试
打开微信扫一扫,快速登录/注册
未注册手机验证后自动登录,注册即代表同意《支持中心网站注册协议和隐私政策》
三日内免验证登录
短信登录
登录