有些朋友經(jīng)常問我實數(shù)與字符串之間怎么轉化,尤其是在EthernetKRL的Binarystream的使用中。那么這邊文章以代碼的形式來展示。
一.實數(shù)轉化為字符串:
;***************************************************;* 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
測試結果:

如果將程序修改下,就可以保留小數(shù)點后幾位的格式:
;***************************************************;* 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
測試結果:

二.字符串轉實數(shù):
對于字符串轉實數(shù)有兩種方式,一種是系統(tǒng)函數(shù),一種用戶自定義的函數(shù);
-
系統(tǒng)自定義函數(shù):
;**************************************************;* 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; *;**************************************************測試程序:
測試結果:

-
用戶定義函數(shù):
;***************************************************;* 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測試程序:

測試結果:

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
編程
+關注
關注
90文章
3716瀏覽量
97185 -
字符串
+關注
關注
1文章
596瀏覽量
23165 -
庫卡
+關注
關注
0文章
83瀏覽量
14661
原文標題:庫卡編程篇實數(shù)與字符串轉化
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應用】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
熱點推薦
求助 LabVIEW 字符串比較
1.輸入一個字符串,儲存起來。
2.再次輸入一個字符串,先和儲存起來的字符串比較,如果不同則存儲起來,如果相同則不儲存。
3.再次輸入一個字符串,和所有儲存起來的
發(fā)表于 03-02 17:24
打開工程后工程中的字體沒有顯示,如字符串,數(shù)字等控件不能預覽顯示字體?
打開工程后工程中的字體沒有顯示,如字符串,數(shù)字等控件不能預覽顯示字體?
發(fā)表于 02-25 17:39
字符串關聯(lián)數(shù)字變量如何使用?我們的地址都是16位數(shù)據(jù),可以使用16位數(shù)字變量顯示字符串嗎?
字符串關聯(lián)數(shù)字變量如何使用?我們的地址都是16位數(shù)據(jù),可以使用16位數(shù)字變量顯示字符串嗎?
發(fā)表于 12-15 08:24
如何使用 NuMaker 板和 Mbed OS 上的連接字符串連接到 Azure IoT?
使用 NuMaker 板和 Mbed OS 上的連接字符串連接到 Azure IoT
發(fā)表于 09-04 07:46
非對稱密鑰生成和轉換規(guī)格詳解
當前章節(jié)將說明系統(tǒng)目前支持的算法及其對應的規(guī)格。密鑰生成有兩種指定規(guī)格的方式,分別是:
字符串參數(shù):以字符串的形式描述開發(fā)者需要生成的密鑰規(guī)格。
密鑰參數(shù):使用密鑰的詳細密碼學信息,構造密鑰對象
發(fā)表于 09-01 07:50
LM3466 多串 LED 電流平衡器技術手冊
到電源的串數(shù)或每個 LED 的正向電壓 字符串。 如果任何 LED 燈串在運行過程中打開,LM3466 會自動平衡通過所有剩余活動 LED 燈串的電源電流。 如 因此,即使一些 LED
在Python中字符串逆序有幾種方式,代碼是什么
對于一個給定的字符串,逆序輸出,這個任務對于python來說是一種很簡單的操作,畢竟強大的列表和字符串處理的一些列函數(shù)足以應付這些問題 了,今天總結了一下python中對于字符串的逆序輸出的幾種常用
SQL 通用數(shù)據(jù)類型
如何與存儲的數(shù)據(jù)進行交互。 下面的表格列出了 SQL 中通用的數(shù)據(jù)類型: 數(shù)據(jù)類型 描述 CHARACTER(n) 字符/字符串。固定長度 n。 VARCHAR(n) 或 CHARACTER VARYING(n) 字符/
harmony-utils之StrUtil,字符串工具類
harmony-utils之StrUtil,字符串工具類 harmony-utils 簡介與說明 [harmony-utils] 一款功能豐富且極易上手的HarmonyOS工具庫,借助眾多實用工具類
STM32C031C6使用的是UART2通訊,通過printf()函數(shù)發(fā)送字符串時,漢字錯碼怎么解決?
使用的是UART2通訊,通過printf()函數(shù)發(fā)送字符串時,漢字錯碼(見下圖),應該是KEIL哪里沒有設置好的問題。
啟用了UART2的中斷接收,可以接收到串口調試助手的數(shù)據(jù),但是緩存區(qū)的指針沒有歸零,下次接收時緩存區(qū)中的內容接續(xù)(如下圖所示),不知道用什么命令來清除緩存區(qū)(即讓指針歸零)。
發(fā)表于 03-07 12:30
實數(shù)與字符串之間怎么轉化
評論