[問題] C有浮點轉字串或字元的函數嗎?

看板C_and_CPP (C/C++)作者 (Fan)時間13年前 (2012/10/03 20:13), 編輯推噓3(303)
留言6則, 4人參與, 最新討論串1/1
本身在做控制的領域,用C寫晶片時,遇到一個問題 我有一個浮點的變量,想藉由RS232介面把數據全傳出來 再用繪圖軟體(excel,matlab)把波形畫出來 現在是假設我的變數是x=56.87, 想把它輸出 ScicRegs.SCITXBUF=x; /*把變量給我輸出的暫存器*/ 輸出之後我用超級終端機看,並不是56.87,而是8 因為我這暫存器只能是int型態,所以56.87會先變成56 而rs232傳輸協議會把56看成ASCII碼,56對應為8,所以就輸出8 目前想到是先把浮點轉成字元,想請問C中有類似 itoa() (int轉字串),或是ltoa() (long轉字串) 這種的浮點轉字串的函數嗎? -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 134.208.1.29

10/03 20:18, , 1F
snprintf
10/03 20:18, 1F

10/03 20:21, , 2F
char s[100]; sprintf(s,%lf",val);
10/03 20:21, 2F

10/03 20:51, , 3F
傳兩個INT也可以吧,一個實數,一個指數
10/03 20:51, 3F

10/03 23:59, , 4F
@stup~ : 但重點是它傳過去是用字串收.
10/03 23:59, 4F

10/04 01:17, , 5F
可是他用超級終端機看的啊,當然變ASCII顯示
10/04 01:17, 5F

10/04 01:19, , 6F
傳輸只會傳byte吧,怎麼會有看成ASCII碼的難理解的情況!
10/04 01:19, 6F
文章代碼(AID): #1GR2lMPh (C_and_CPP)
文章代碼(AID): #1GR2lMPh (C_and_CPP)