有些朋友經常問我實數與字符串之間怎么轉化,尤其是在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,I
DECL STATE_T state
DECL REAL rVar
Offset=0
FOR I=1 TO 32
Ret[I]=0
ENDFOR
SWRITE(Ret[],State,offset,"%f",rVar)
Return (ret[])
ENDFCT
測試程序:
DEF CHeck( )
DECL CHAR test[32]
DECL REAL x
DECL INT I
FOR I=1 TO 32
Test[i]=0
ENDFOR
X=-3.14
Test[]=Real_2_string(x)
HALT
END
測試結果:
如果將程序修改下,就可以保留小數點后幾位的格式:
;***************************************************
;* 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,I
DECL STATE_T state
DECL REAL rVar
Offset=0
FOR I=1 TO 32
Ret[I]=0
ENDFOR
SWRITE(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 state
DECL CHAR StringIn[]
DECL REAL RealOut
DECL INT zOffset
zOffset=0
SREAD(StringIN[],State,zOffset,"%f",RealOut)
RETURN(RealOut)
ENDFCT
測試程序:
測試結果:
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
編程
+關注
關注
88文章
3619瀏覽量
93777 -
字符串
+關注
關注
1文章
579瀏覽量
20536 -
庫卡
+關注
關注
0文章
80瀏覽量
14233
原文標題:庫卡編程篇實數與字符串轉化
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應用】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
base64字符串轉換為二進制文件
Base64是一種編碼方法,用于將二進制數據轉換為ASCII字符串。這種編碼通常用于在不支持二進制數據的系統中傳輸數據,例如電子郵件或網頁。將Base64字符串轉換為二進制文件的過程相對簡單,但需要
labview中浮點數與十六進制字符串相互轉化
與下位機數據交流及通訊時,經常有浮點數與十六進制字符串相互轉化的需求,經過兩天總結,找到了最簡潔的相互轉化的方法,萌新歡迎大佬指正,文件也附上。*附件:HEX字符串與浮點數轉換.rar
發表于 10-21 19:51
MATLAB(5)--字符串處理
和double函數都可以獲取字符串矩陣對應的ASCII數值矩陣。
char函數可以吧ASCII碼矩陣轉化為字符串矩陣。
字符串的比較
字符串
發表于 09-06 10:22
labview字符串數組轉化為數值數組
在LabVIEW中,將字符串數組轉換為數值數組是一項常見的任務,尤其是在處理數據采集、信號處理或用戶輸入時。 1. 理解LabVIEW的數據類型 在開始之前,了解LabVIEW中的數據類型是非
labview字符串如何轉換為16進制字符串
在LabVIEW中,將字符串轉換為16進制字符串是一個常見的需求,尤其是在處理數據通信和硬件接口時。LabVIEW提供了多種方法來實現這一轉換,包括使用內置函數、編寫VI(Virtual
labview中如何實現字符串換行
1. 字符串換行的基本概念 在LabVIEW中,字符串換行通常指的是在字符串中插入換行符,使得字符串在顯示或輸出時能夠自動換行。這在創建用戶界面或處理文本數據時非常有用。 2.
labview中如何實現字符串選擇輸出
在LabVIEW中實現字符串選擇輸出是一項常見的任務,它涉及到字符串處理、條件判斷和用戶界面設計等多個方面。由于LabVIEW是一種圖形化編程語言,其編程方式與傳統的文本編程語言有所不同,因此實現
labview中常用的字符串函數有哪些?
在LabVIEW中,常用的字符串函數廣泛覆蓋了對字符串的各種操作,包括但不限于格式化、搜索、替換、連接、計算長度等。以下是一些常用的字符串函數及其簡要說明: 字符串長度(String
labview字符串的四種表示各有什么特點
。在LabVIEW中,字符串是一種基本的數據類型,用于表示文本信息。字符串在LabVIEW中有多種表示方式,每種方式都有其特定的應用場景和特點。以下是對LabVIEW中四種字符串表示方式的分析: 1.
銳評Ruby 3.4.0 默認啟用字符串字面量凍結功能
據悉,Ruby自2.3版起引入了“凍結”機制,通過使用frozen_string_literal: true魔法注釋,可令文件內所有字符串字面量默認為凍結狀態,防止開發過程中無意修改字符串,提高代碼穩定性與性能,降低內存占用。
USB字符串描述符里面的序列號字符串到底是什么東西?
在設備描述符里面,有一個表示序列號字符串描述符的編號,請問這個序列號字符串的描述符是什么東西呢?
廠商字符串和設備字符串都能理解,而且在電腦的“設備與打印機”里面都找到了。但請問這個
發表于 01-24 08:06
labview二進制字符串轉數值
字符串是一種常見的數據類型,它表示了以二進制形式存儲的數據。當我們需要將這些二進制字符串轉換為數值時,LabVIEW提供了一些常用的函數和方法,可以幫助我們完成這個任務。 首先,我們需要明確二進制字符串的格式。在LabVIEW中
評論