格式说明语法
使用格式说明符格式化字符串、将数字转化为字符串,或在字符串中插入不显示的字符。
对于输出字符串的函数,例如格式化写入字符串和数组至电子表格字符串转换,格式说明符使用下列语法元素。双括号( [] )中的是可选元素。
%[$][-][+][#][^][0][Width][.Precision || _SignificantDigits][{Unit}][<Embedded information>]Conversion Code
其中Width是一个大于零的数,.Precision和_SignificantDigits是大于等于零的数。
对于扫描字符串的函数,例如,扫描字符串和电子表格字符串至数组转换,格式说明符使用下列语法元素。
%[Width]Conversion Code
格式化写入字符串、格式化写入文件、扫描字符串和扫描文件函数可在格式字符串输入中使用多个格式说明符,每个格式说明符用于每个可扩展函数的输入或输出。
格式说明符语法元素
下表列出了格式说明符的语法元素。详细信息见格式说明符范例。
语法元素 | 说明 | |||||
% | 格式说明符的开始。 | |||||
$(可选) | 使用格式函数时,该修饰符规定了显示变量的顺序。包括代表变量顺序的位数,其后紧接该修饰符。 | |||||
-(可选) | 使用格式化函数时,该修饰符在参数的宽度之内将参数靠左调整,而不是靠右调整。 | |||||
+(可选) | 使用格式化函数时,即使是正数,该修饰符也包括符号。 | |||||
^(可选) | 使用格式函数和e或g转换代码时,该元素将数格式化为科学计数法,其中指数为3的倍数。 | |||||
#(可选) | 使用格式化函数时,该修饰符移除尾部的无效零。如数值无小数部分,该修饰符会将有效数字精度之外的数值强制为零。 | |||||
0(可选) | 使用格式化函数时,使用该修饰符,不带-修饰符,函数将用零而不是空格填充数值参数左边的多余空间,以达到最小宽度。 | |||||
Width(可选) | 使用扫描函数时,如扫描字符串,Width元素规定了使用的字段的确切宽度。LabVIEW处理参数时只扫描指定数量的字符。使用格式化函数时,Width元素指定的输出字段的最小宽度。该宽度不是最大宽度。LabVIEW使用适量的字符格式化参数,而不是截断参数。LabVIEW将根据调整的类型对参数的左侧和右侧填充空格。如Width未提供或为0,则输出的长度与经转换的输入参数的长度相等。 | |||||
.Precision或_Significant Digits(可选) | 使用格式化函数时,.或_控制显示的位数。如使用.,LabVIEW将其后的数字作为精度说明符,指定小数点右边的位数。如使用_,LabVIEW将其后的数字编号作为在显示格式中使用的指定有效位数。 .Precision-与浮点表示法使用时,该元素指定小数点右边的位数。如没有.,LabVIEW使用6位精度。如.为0,LabVIEW将不插入精度。与字符串参数配合使用时,.Precision指定扫描字段的最大宽度。LabVIEW截取的字符串比该长度更长。 _Significant Digits-显示舍入为指定位数的数据。LabVIEW仅为显示之目的,对数据进行舍入,并不影响原始数据。.Precision仅仅影响小数点右边的位数,_Significant Digits包括所有非空白位数。例如, ∙ 3.457有4个有效位数 ∙ 0.0012有2个有效位数 ∙ 123000有3个有效位数
对于单精度浮点数,建议将_Significant Digits设为1-6之间的值。对于双精度和扩展精度浮点数,建议将_Significant Digits设为1-13之间的值。 | |||||
{Unit}(可选) | 使用该函数转换物理量时(带单位的值),将覆盖VI的原单位。必须使用兼容单位。该语法元素只能与格式化写入字符串函数配合使用。 | |||||
<Embedded Format Information> | 包含一个有具体时间的格式字符串。关于合法格式字符串,见时间格式字符串的格式码。只有%W、%D、%H、%M、%S和%u用于相对时间。 | |||||
转换代码 | 指定怎样扫描或格式化参数的字符。 | |||||
使用下列用于整型数和定点数的转换代码: ∙ x-十六进制整数(例如,B8)。 ∙ o-八进制整数(例如,701)。 ∙ b-二进制整数(例如,1011)。 ∙ d-带符号的十进制整数。 ∙ u-不带符号的十进制整数。 | ||||||
使用下列用于浮点数和定点数的转换代码: ∙ f-带小数格式的浮点数(例如,12.345)。 ∙ e-科学计数法表示的浮点数(例如,1.234E1)。 ∙ g-根据数字的指数,LabVIEW使用f或e。如指数大于–4或小于指定的精度,LabVIEW使用f。如指数小于–4或大于指定的精度,LabVIEW使用e。 ∙ p-以SI符号表示的浮点数。 | ||||||
使用下列用于字符串的转换代码: ∙ s-字符串(例如,abc)。扫描时,s仅与下一个白空字符匹配。一个空白与一个或多个白空字符匹配。要扫描一个可能含有白空的字符串,在集合转换代码中使用字符。指定字符串中包含在括号中的所有字符,包括空格和其它白空字符。 ∙ [ ]-集合中的字符。[ ]与包含括号中字符的字符串相匹配。字符区分大小写。只有扫描字符串时,才会用到[ ]转换代码。要在集合中匹配(^)符号,需确保其不是括号后的第一个字符。下列范例显示了集合转换代码中字符的用处。 o %[aeiou]-匹配只有小写元音字母的字符串。 o %[0-9a-zA-Z ]-匹配含有数字、字母或空白的字符串。可使用连字符在集合中指定字符的范围。 o %[^,;]-匹配逗号或分号前的字符串,但不包括第一个逗号或分号。 要匹配一个连字符,将其指定为集合中的第一个或最后一个字符。 | ||||||
使用下列用于时间的转换代码: ∙ T-绝对时间。T不能与“数组至电子表格字符串转换”、“电子表格字符串至数组转换”、“格式化值”和“扫描值”函数配合使用。将T与控件、常量,以及格式化写入字符串、格式化写入文件、扫描字符串和扫描文件函数配合使用。关于使用绝对时间的范例,见格式说明符范例表。 ∙ t-相对时间。t不能与“数组至电子表格字符串转换逗号分割的字符串转数组”、“电子表格字符串至数组转换”、“格式化值”和“扫描值”函数配合使用。将t与控件、常量,以及格式化写入字符串、格式化写入文件、扫描字符串和扫描文件函数配合使用。关于使用相对时间的范例,见格式说明符范例表。 | ||||||
本地化代码 | 确定LabVIEW将小数部分与整数部分分隔开的是小数点还是逗号。这些代码控制数值输出的小数分隔号。这些代码不会产生任何输入或输出。这些代码将为其后的输入输出改变小数分隔号,直到到下一个%;。 | |||||
%,; | 逗号小数分隔号。 | |||||
%.; | 句点小数分隔号。 | |||||
%; | 系统默认分隔号。 | |||||
返回页首
格式说明范例
下表列出了格式说明符的语法元素的范例。
类型 | 参数 | 格式字符串 | 结果字符串 | 说明 |
自动格式(%g) | 12.00 | %#g | 12 | 如指定#,LabVIEW将移除尾部的无效零。如指定g,LabVIEW根据要格式化的数字选择科学表示或浮点表示。 |
12000000 | %#g | 1.2E+6 | ||
十进制(%d) | 12.67 | score= %.0f%% | score= 13% | 如选择%f,LabVIEW将对参数进行取整。使用%%表示一个%。使用.0,移除小数。 |
浮点型(%f) | 12.67 | Temp: %5.1f | Temp: 12.7 | 格式化字符串中的5表示宽度为5,1表示小数点右边的数位,即精度。 |
12.67 N | %5.3f | 12.670 N | 只有使用格式化写入字符串或扫描字符串函数,这些单位才有效。以下是物理量输入的范例。第二个范例显示了如何将一个单位转换为另一个单位。问号表示格式说明符中的单位与输入单位有冲突。 | |
12.67 N | %5.3{mN}f | 1,267.000 mN | ||
12.67 N | %5.3{kg}f | 12.670 ?kg | ||
科学表示法(%e) | 12.67 | %.3e | 1.267E+1 | 添加^,改为工程表示法,其中指数为3的倍数。 |
12.67 | %^.3e | 12.670E+0 | ||
SI符号(%p) | 12000000 | %.2p | 12.00M | .2表示在结果字符串中精度为2位数。_2表示在结果字符串中有2个有效数位。%p添加了SI前缀。 |
12000000 | %_2p | 12M | ||
十六进制(%x) | 12 | %02x | 0C | A-表示结果字符串靠左调整。0表示结果字符串以零填充。数值指定了结果字符串的宽度。也就是说,值–n将对带空白的结果字符串进行填充,填充到宽度为n。b表示二进制,o表示八进制,x表示十六进制。 |
八进制(%o) | 12 | %06o | 000014 | |
二进制(%b) | 12 | %b | 1100 | |
相对时间(%t) | 91.80 | %0.2t | 01:31.80 | LabVIEW将已经过的时间显示为整数个星期(%W)、日(%D)、小时(%H)、分钟(%M)、秒(%S)和分数秒(%u)。更多时间格式代码,见时间格式字符串的格式码。 |
91.8 | %<小时:%H 分:%M 秒:%S>t | Hours:00 Minutes:01 Seconds:31 | ||
绝对时间(%t) | 00:00:00.000 AM 1/1/2001 (通用时间) | %<%.3X %x>T | 12:00:00.000 AM 01/01/2001 | %T指绝对时间。< and >括号中的任何信息,表示怎样对绝对时间格式化。该格式,包括其中的标点,根据计算机的区域设置而改变。时间根据计算机的时区设置改变。更多时间格式代码,见时间格式字符串的格式码。 |
00:00:00.000 AM 1/1/2001 (通用时间) | %<%Y.%m.%d>T | 2001.01.01 | ||
00:00:00.000 AM 1/1/2001 (通用时间) | %^<%.3X %x>T | 06:00:00.000 AM 12/31/2000 | 添加^,在通用时间中格式化时间。 | |
字符串(%s) | Smith John | Name: %s, %s. | Name: Smith, John. | 只有使用格式化写入字符串函数,字符串才有效。在第二个例子中,格式字符串指定最多使用字符串Hello, World中的六个字符,然后填充空白。所以,字符串总长度为10。 |
Hello, World | String: %10.6s | String: Hello, | ||
变量顺序(%$) | Smith John | %2$s %1$s | John Smith | 在该例中,Smith是第一个变量,John是第二个变量。如在格式字符串中为某个变量使用$语法元素,其后的语法元素如果不是以$语法元素打头,则属于下一个变量。 如为一个变量使用$语法元素,则也将$作为其它变量的语法元素,以增加可读性。 |
返回页首
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论