0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

机器人及PLC自动化应用 来源:机器人及PLC自动化应用 作者:机器人及PLC自动化 2020-12-24 09:37 次阅读

有些朋友经常问我实数与字符串之间怎么转化,尤其是在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 32  Ret[I]=0ENDFORSWRITE(Ret[],State,offset,"%f",rVar)Return (ret[])ENDFCT

测试程序:

DEF CHeck( )DECL CHAR test[32]DECL REAL xDECL INT I FOR I=1 TO 32 Test[i]=0ENDFORX=-3.14Test[]=Real_2_string(x)HALTEND

测试结果:

a3eebd5a-2e44-11eb-a64d-12bb97331649.png

如果将程序修改下,就可以保留小数点后几位的格式:

;***************************************************;* 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 32  Ret[I]=0ENDFORSWRITE(Ret[],State,offset,"%.3f",rVar)Return (ret[])ENDFCT

测试结果:

a72c82cc-2e44-11eb-a64d-12bb97331649.png

二.字符串转实数:

对于字符串转实数有两种方式,一种是系统函数,一种用户自定义的函数;

  1. 系统自定义函数:

    ;**************************************************;* 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;       *;**************************************************

    测试程序:

    测试结果:

    ad940a7c-2e44-11eb-a64d-12bb97331649.png

  2. 用户定义函数

    ;***************************************************;* 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 state DECL CHAR StringIn[]DECL REAL RealOutDECL INT zOffsetzOffset=0SREAD(StringIN[],State,zOffset,"%f",RealOut)RETURN(RealOut)ENDFCT

    测试程序:

    adb88406-2e44-11eb-a64d-12bb97331649.png

    测试结果:

    add4fc76-2e44-11eb-a64d-12bb97331649.png

责任编辑:xj

原文标题:库卡编程篇实数与字符串转化

文章出处:【微信公众号:机器人PLC自动化应用】欢迎添加关注!文章转载请注明出处。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 编程
    +关注

    关注

    88

    文章

    3441

    浏览量

    92417
  • 字符串
    +关注

    关注

    1

    文章

    552

    浏览量

    20135
  • 库卡
    +关注

    关注

    0

    文章

    78

    浏览量

    14109

原文标题:库卡编程篇实数与字符串转化

文章出处:【微信号:gh_a8b121171b08,微信公众号:机器人及PLC自动化应用】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    如何提取串口接收字符串数组里的某个字符串

    前几天搞了好久串口发送接收字符串的程序代码,终于搞出来了。还没高兴多久,新的问题又来了。我使用STM8S105K4的UART2口跟蓝牙模块通信的,我发送字符串指令给蓝牙后,蓝牙返回来了十几
    发表于 04-22 06:05

    C语言字符串编译函数介绍

    在C语言中,字符串实际上是使用null字符O'终止的一维字符数组。因此,一个以null结尾的字符串,包含了组成字符串
    的头像 发表于 03-07 16:18 236次阅读
    C语言<b class='flag-5'>字符串</b>编译函数介绍

    PSoC™ 6 UART通信反复发送字符串是为什么?

    我正在尝试使用 UART 代码,但我修改了代码,一次又一次地发送字符串,而这次他只询问用户一次。 所以我想再三询问用户。 我还设置了一个 while (1) 循环,但仍然不起作用。 因此,请提供反复发送新字符串的 uart 示例。
    发表于 03-05 07:26

    USB字符串描述符里面的序列号字符串到底是什么东西?

    在设备描述符里面,有一个表示序列号字符串描述符的编号,请问这个序列号字符串的描述符是什么东西呢? 厂商字符串和设备字符串都能理解,而且在电脑的“设备与打印机”里面都找到了。但请问这个
    发表于 01-24 08:06

    labview扫描字符串怎么用

    LabVIEW 是一种流程化编程语言和开发环境,主要用于控制、测量和监测系统。在 LabVIEW 中,扫描字符串是一项常见的任务,它允许用户按照一定的模式从输入字符串中提取所需的信息。下面我将详细
    的头像 发表于 12-29 10:12 643次阅读

    字符数组和字符串有没有区别?

    字符数组和字符串有没有区别?
    的头像 发表于 11-30 16:39 335次阅读

    c语言字符串定义

    C语言是一种强大而广泛使用的编程语言,字符串是其中一个非常重要的概念。在C语言中,字符串是由一系列字符组成的数组,它可以表示文本、数字等各种类型的数据。在本文中,我们将详尽、详实、细致地介绍C语言
    的头像 发表于 11-24 10:02 861次阅读

    java字符串转化为日期格式

    在Java中,字符串转化为日期格式是一个常见的需求。日期格式在处理时间相关的操作时非常重要,它可以用来表示一段时间的开始和结束,也可以用来计算时间差等。本文将详细介绍如何将一个字符串转化
    的头像 发表于 11-17 16:38 750次阅读

    mysql字符串包含某个字符串

    MySQL是一种开源的关系型数据库管理系统,被广泛用于构建Web应用程序和其他大型数据驱动的应用。在进行MySQL数据库查询时,经常需要使用字符串包含操作,即判断一个字符串是否包含另一个字符串。本文
    的头像 发表于 11-16 14:52 1153次阅读

    怎样进行字符串转数字?

    除了使用sprintf之外,自己写一个字符串转数字的程序应该怎样处理?sprintf的效率很低
    发表于 11-10 07:18

    c语言如何对比字符串是否相同?

    c语言如何对比字符串是否相同把一个字符串变量直接赋值给另一个变量怎么实现
    发表于 11-02 07:45

    怎么把int类型的数据转换成字符串?

    怎么把 int 类型的数据转换成字符串: 看项目有用 micrilib,itoa() 函数 和 sprintf() 能不能用呢?怎么用 比如把 int a=10;转换成字符串 charbuf[]=\"10\";
    发表于 11-01 08:27

    求助,如何把一字符串运算转化成定长字符串

    是128bit的,按4位二进制组合成一个十六进制,所以最后出来的十六进制字符串是32个,比如d3379f609e1aa88da2f50018d4fa218f。
    发表于 11-01 07:52

    C++字符串string

    string是C++编程语言中的字符串。在C++中字符串处理可以使用c语言字符串形式char *,也可以使用string类格式。
    的头像 发表于 07-10 00:26 890次阅读
    C++<b class='flag-5'>字符串</b>string

    如何把字符串公式并得出结果?

    如图示一个字符串写的加减乘除运算公式,如何把字符串公式转换出来并得出结果?
    发表于 05-23 16:31