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

已锁定

看雪001

  • 帖子

    2065
  • 精华

    72
  • 被关注

    201

论坛等级:至圣

注册时间:2012-04-25

钻石 钻石 如何晋级?

发布于 2021-12-23 09:15:20

10楼

展开查看
以下是引用芳季在2021-12-22 17:32:37的发言 >9楼

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

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

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

这个84你能理解吗?

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

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

这个84你能理解吗?

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

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

懂我意思没有?

以下是引用看雪001在2021-12-22 13:50:47的发言 >8楼:字符串转换只需要指...

引用8楼详细内容:

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

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

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

引用2楼详细内容:

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

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

呵呵呵,看把芳芳急得,懂了懂了!



大道至简,知易行难
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200 SMART

共有7477条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。