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

如果將程序修改下,就可以保留小數(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
測試結(jié)果:

二.字符串轉(zhuǎn)實數(shù):
對于字符串轉(zhuǎn)實數(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; *;**************************************************測試程序:
測試結(jié)果:

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

測試結(jié)果:

責(zé)任編輯:xj
原文標(biāo)題:庫卡編程篇實數(shù)與字符串轉(zhuǎn)化
文章出處:【微信公眾號:機(jī)器人及PLC自動化應(yīng)用】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
-
編程
+關(guān)注
關(guān)注
90文章
3710瀏覽量
96983 -
字符串
+關(guān)注
關(guān)注
1文章
595瀏覽量
23107 -
庫卡
+關(guān)注
關(guān)注
0文章
83瀏覽量
14626
原文標(biāo)題:庫卡編程篇實數(shù)與字符串轉(zhuǎn)化
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機(jī)器人及PLC自動化應(yīng)用】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
字符串控件與靜態(tài)字符串控件中預(yù)覽字符顯示亂碼,如何修改顯示正常?
字符串關(guān)聯(lián)數(shù)字變量如何使用?我們的地址都是16位數(shù)據(jù),可以使用16位數(shù)字變量顯示字符串嗎?
如何使用 NuMaker 板和 Mbed OS 上的連接字符串連接到 Azure IoT?
非對稱密鑰生成和轉(zhuǎn)換規(guī)格詳解
LM3466 多串 LED 電流平衡器技術(shù)手冊
實數(shù)與字符串之間怎么轉(zhuǎn)化
評論