前言:
如今咱们对“编写程序输入任意长度的字符串输出其中最大的字符”大概比较关怀,你们都需要学习一些“编写程序输入任意长度的字符串输出其中最大的字符”的相关知识。那么小编在网摘上汇集了一些关于“编写程序输入任意长度的字符串输出其中最大的字符””的相关知识,希望朋友们能喜欢,同学们一起来学习一下吧!一、什么是字符和字符串数据类型
String类型用于表示由零或多个16位Unicode字符组成的字符序列。
1200中的字符和字符串数据类型如下表所示:
Char 和 WChar
Char 在存储器中占一个字节,可以存储以 ASCII 格式(包括扩展 ASCII字符代码)编码的单个字符。 WChar在存储器中占一个字的空间,可包含任意双字节字符表示形式。
编辑器语法在字符的前面和后面各使用一个单引号字符。可以使用可见字符和控制字符。
String 和 WString
CPU 支持使用 String 数据类型存储一串单字节字符。 String数据类型包含总字符数(字符串中的字符数)和当前字符数。String类型提供了多达 256个字节,用于在字符串中存储最大总字符数(1个字节)、当前字符数(1个字节)以及最多254个字节。 String数据类型中的每个字节都可以是从16#00到16#FF的任意值。
WString
数据类型支持单字(双字节)值的较长字符串。第一个字包含最大总字符数;下一个字包含总字符数,接下来的字符串可包含多达 65534 个字。 WString
数据类型中的每个字可以是 16#0000 - 16#FFFF 之间的任意值。
可以对 IN类型的指令参数使用带单引号的文字串(常量)。例如, ‘ABC’是由三个字符组成的字符串,可用作 S_CONV 指令中 IN 参数的输入。还可通过在 OB、 FC、 FB 和 DB的块接口编辑器中选择“String”或“WString”数据类型来创建字符串变量。无法在PLC变量编辑器中创建字符串。
可从数据类型下拉列表中选择一种数据类型,输入关键字“String”或“WString”,然后在方括号中以字节 (String) 或字 (WString)为单位指定最大字符串大小。例如,“MyString String[10]”指定 MyString 的最大长度为 10个字节。如果不包含带有最大长度的方括号,则假定字符串的最大长度为 254 并假定WString 的最大长度为65534。“MyWString WString[1000]”可指定一个 1000 字的
WString。
下面看看如何在DB块中定义字符串:打开数据块
1、选择接口中的相应声明部分。
2、在“名称”列中输入变量名称。
3、在“数据类型”(Data type) 列中输入“STRING”。输入时系统将提供自动完成功能。
4、可选:在关键字 STRING 后面,使用方括号指定字符串的最大长度。如果未指定最大长度,则字符串的默认长度为 254 个字符。
在上图中
A、第一个string没定义长度,则是系统默认的长度254个字符。占n+2个字节,也就是254+2=256字节
B、第二个string定义长度为20个字符。
二、字符串指令
1、指令位置
2、典型指令介绍
2.1 移动字符串
指令就是:将参数IN中字符串(W)STRING的内容写入在参数OUT中指定的数据区域。
仿真运行:
2.2转换字符串指令
转换字符串将 IN 输入中的值转换为 OUT 输出中指定的数据格式。
A、转换字符串
转换数字值(整数或浮点数):
针对 IN 输入参数中指定的字符串的所有字符执行转换。允许的字符包括数字“0”到“9”、小数点以及加减号。字符串的第一个字符可以是有效数字或符号。将忽略前导空格和指数计数制。
转换字符:
将字符串转换为字符时,字符串中的第一个字符将传送到参数 OUT 中。
上图将字符串转换成INT型,
上图是INT转换成字符串
2.3 将字符串转换成数值指令
“STRG_VAL”指令可将字符串转换为整数或浮点数:
在 IN 输入参数中指定要转换的字符串。
通过为 OUT 输出参数选择数据类型,确定输出值的格式。
FORMAT是字符的输入格式,意义参见下表:
参数P:是指从P位置开始转换。
看看下面这个程序:
在上图中FORMAT设置为1,则将IN中的1.234中的点解释为千位分隔符,若设置为0就解释为点,如下图所示:
2.4 将数值转换字符串指令
VAL_STRG”指令用于将数字值转换为字符串。
在 IN 输入参数中指定要转换的值。通过选择数据类型来决定数字值的格式。
可以在 OUT 输出参数中查询转换结果。
转换允许的字符包括数字“0”到“9”、小数点、小数撇、计数制“E”和“e”,以及加减号字符。无效字符将中断转换过程。
使用 SIZE 参数指定待写入字符串的字符数。这从 P 参数中指定的字符开始计数。如果输出值比指定长度短,则结果将以右对齐方式写入字符串。空字符位置将填入空格。
参数FORMAT如下表所示:
使用 PREC 参数定义转换浮点数时保留的小数位数。REAL 数据类型的数字值所支持的最大精度为 7 位数。如果要转换的值为整数,可使用 PREC 参数指定放置小数点的位置。
看看下面的程序:
根据参数P=16,就是从第16个字符开始写入该字符,
根据SIZE=10,就是从该位置开始写入该字符串10个字符长度,
参数FORMAT为16#4,所以选择小数点分隔符,
PrecVAL的值为3,将向字符串写入3个小数位。
待转换值的符号作为字符存储在字符串中,作为数字的前缀。
字符串的其余10个字符作为符号前的空格写入。
最后的结果如上图所示。