有些朋友经常问我实数与字符串之间怎么转化,尤其是在EthernetKRL的Binarystream的使用中。那么这边文章以代码的形式来展示。
一.实数转化为字符串:
;***************************************************;* Customer : *;* Roboter : *;* Version : Vxxxxxx *;* Roboter Nr. : xxxxxx *;* Controller Nr: xxxxxx *;* *;* Autor : Andrew Wang *;* Company : *;* Department : *;* Telephone : 86 156-8082-2827 *;* *;* Version : 1.0 *;* Created : 12.12.2018 *;* Modified : *;* Project : *;* *;*ProgramName:Real_2_String*;* Convert a REAL variant to a string variable; *;**************************************************DEFFCT CHAR[32] Real_2_String(rVar:IN )DECL CHAR Ret[32]DECL INT Offset,IDECL STATE_T stateDECL REAL rVarOffset=0FOR I=1 TO 32Ret[I]=0ENDFORSWRITE(Ret[],State,offset,"%f",rVar)Return (ret[])ENDFCT
测试程序:
DEF CHeck( )DECL CHAR test[32]DECL REAL xDECL INT IFOR I=1 TO 32Test[i]=0ENDFORX=-3.14Test[]=Real_2_string(x)HALTEND
测试结果:

如果将程序修改下,就可以保留小数点后几位的格式:
;***************************************************;* Customer : *;* Roboter : *;* Version : Vxxxxxx *;* Roboter Nr. : xxxxxx *;* Controller Nr: xxxxxx *;* *;* Autor : Andrew Wang *;* Company : *;* Department : *;* Telephone : 86 156-8082-2827 *;* *;* Version : 1.0 *;* Created : 12.12.2018 *;* Modified : *;* Project : *;* *;* Program Name : Real_2_String *;* Convert a REAL variant to a string variable; *;**************************************************DEFFCT CHAR[32] Real_2_String(rVar:IN )DECL CHAR Ret[32]DECL INT Offset,IDECL STATE_T stateDECL REAL rVarOffset=0FOR I=1 TO 32Ret[I]=0ENDFORSWRITE(Ret[],State,offset,"%.3f",rVar)Return (ret[])ENDFCT
测试结果:

二.字符串转实数:
对于字符串转实数有两种方式,一种是系统函数,一种用户自定义的函数;
-
系统自定义函数:
;**************************************************;* System Built-in function-StrToReal *;* Return Vaule=StrToReal(CHAR:IN,REAL:OUT) ; *;* Convert a string in a Real variable ; *;* Range value of Argument IN :Char Array ; *;* Range value of Argument OUT :REAL ; *;* Range value of Result is Bool as Result; *;**************************************************测试程序:
测试结果:

-
用户定义函数:
;***************************************************;* Customer : *;* Roboter : *;* Version : Vxxxxxx *;* Roboter Nr. : xxxxxx *;* Controller Nr: xxxxxx *;* *;* Autor : Andrew Wang *;* Company : *;* Department : *;* Telephone : 86 156-8082-2827 *;* *;* Version : 1.0 *;* Created : 12.12.2018 *;* Modified : *;* Project : *;* *;* Program Name : String_To_Real *;* Convert a string variant to a real variable; *;**************************************************GLOBAL DEFFCT REAL String_To_Real(StringIn[]:IN)DECL STATE_T stateDECL CHAR StringIn[]DECL REAL RealOutDECL INT zOffsetzOffset=0SREAD(StringIN[],State,zOffset,"%f",RealOut)RETURN(RealOut)ENDFCT测试程序:

测试结果:

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
编程
+关注
关注
90文章
3707浏览量
96735 -
字符串
+关注
关注
1文章
594浏览量
23033 -
库卡
+关注
关注
0文章
83浏览量
14601
原文标题:库卡编程篇实数与字符串转化
文章出处:【微信号:gh_a8b121171b08,微信公众号:机器人及PLC自动化应用】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
热点推荐
如何使用 NuMaker 板和 Mbed OS 上的连接字符串连接到 Azure IoT?
使用 NuMaker 板和 Mbed OS 上的连接字符串连接到 Azure IoT
发表于 09-04 07:46
LM3466 多串 LED 电流平衡器技术手册
到电源的串数或每个 LED 的正向电压 字符串。 如果任何 LED 灯串在运行过程中打开,LM3466 会自动平衡通过所有剩余活动 LED 灯串的电源电流。 如 因此,即使一些 LED
在Python中字符串逆序有几种方式,代码是什么
对于一个给定的字符串,逆序输出,这个任务对于python来说是一种很简单的操作,毕竟强大的列表和字符串处理的一些列函数足以应付这些问题 了,今天总结了一下python中对于字符串的逆序输出的几种常用
SQL 通用数据类型
如何与存储的数据进行交互。 下面的表格列出了 SQL 中通用的数据类型: 数据类型 描述 CHARACTER(n) 字符/字符串。固定长度 n。 VARCHAR(n) 或 CHARACTER VARYING(n) 字符/
harmony-utils之StrUtil,字符串工具类
harmony-utils之StrUtil,字符串工具类 harmony-utils 简介与说明 [harmony-utils] 一款功能丰富且极易上手的HarmonyOS工具库,借助众多实用工具类
STM32C031C6使用的是UART2通讯,通过printf()函数发送字符串时,汉字错码怎么解决?
使用的是UART2通讯,通过printf()函数发送字符串时,汉字错码(见下图),应该是KEIL哪里没有设置好的问题。
启用了UART2的中断接收,可以接收到串口调试助手的数据,但是缓存区的指针没有归零,下次接收时缓存区中的内容接续(如下图所示),不知道用什么命令来清除缓存区(即让指针归零)。
发表于 03-07 12:30
请问如何用Verilog实现将ascaii码数值字符串转换成定点数?
我需要接收一个ascaii码字符串,内容是12位有效数字的数值,带小数。我不知道怎么把小数部分转换成定点数。
发表于 01-23 21:57
字符串在数据库中的存储方式
数据库是现代信息技术中存储和管理数据的核心组件。字符串作为最常见的数据类型之一,在数据库中的存储方式对其性能和可扩展性有着重要影响。 数据类型 固定长度字符串 :如CHAR类型,它为每个字符串分配
字符串在编程中的应用实例
字符串在编程中有着广泛的应用,它们被用于表示文本数据、处理用户输入、构建动态内容等。以下是一些字符串在编程中的应用实例: 1. 用户输入与输出 用户输入 :程序通常需要从用户那里获取输入,这些输入通
字符串与字符数组的区别
在编程语言中,字符串和字符数组是两种基本的数据结构,它们都用于存储和处理文本数据。尽管它们在功能上有一定的重叠,但在内部表示、操作方式和使用场景上存在显著差异。 1. 内部表示 字符串 字符串
字符串反转的实现方式
在编程中,字符串反转是一个基础而重要的操作,它涉及到将一个字符串中的字符顺序颠倒过来。这个操作在多种编程语言中都有不同的实现方式,本文将探讨几种常见的字符串反转方法。 1. 递归方法
字符串处理方法 字符串转数字的实现
在编程中,将字符串转换为数字是一个常见的需求。不同的编程语言有不同的方法来实现这一功能。以下是一些常见编程语言中的字符串转数字的实现方法: Python 在Python中,可以使用内置的 int
脚本美化高手之轻松实现文本颜色和背景定制的酷炫Shell技巧
�33[0m Hello World " 输出效果如下: 它的格式是这样的: echo -e "�33[字背景颜色;字体颜色m 字符串 �33[0m" 或者printf "�33[字背景颜色;字体颜色m

实数与字符串之间怎么转化
评论