Robofun 機器人論壇

 找回密碼
 申請會員
搜索
熱搜: 活動 交友 discuz
查看: 17859|回復: 5
打印 上一主題 下一主題

如何把char []轉成int格式?

[複製鏈接]
跳轉到指定樓層
1#
發表於 2013-4-19 19:41:21 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
請問如何把
char a[2]={'3', '4'};

轉成

34
2#
發表於 2013-4-19 20:50:42 | 只看該作者
  1.   char a[2]={'3', '4'};

  2.   String newStr;
  3.   for (int i=0;i<sizeof(a);i++){
  4.     newStr+=a[i];
  5.   }
  6.   Serial.print(newStr);
複製代碼
3#
 樓主| 發表於 2013-4-20 00:18:02 | 只看該作者
本帖最後由 pizg 於 2013-4-20 00:22 編輯

首先感謝babyfish0226老師的回覆.
但您的回覆並沒把它轉成整數, 甚至是把它複雜化了!

有一個函數可以把char []轉成int >>> atoi(), 程式碼如下:
  1. void setup() {  
  2.   Serial.begin(9600);
  3.   char a[2]={'3', '4'};
  4.   int i = atoi(a);
  5.   Serial.print(i);
  6. }

  7. void loop() {}
複製代碼



ps. 如果要把String轉成int, 也必須先把它轉成char [], 而後再使用atoi()函數即可.
4#
發表於 2013-4-20 11:20:48 | 只看該作者
atoi() 是將 String 轉為 int,內部的原理也相同,若需要的是整數,最後將String轉為Int即可。

知道atoi()當然ok,若不曉得,用for迴圈去組合字串也可以。
5#
 樓主| 發表於 2013-4-21 17:40:08 | 只看該作者

如何寫一個將String轉成char的函式?

本帖最後由 pizg 於 2013-4-21 19:35 編輯

babyfish0226老師寫的式子可以把char轉成String, 如下:

  1. char a[2]={'3', '4'};
  2. String newStr;
  3.   for (int i=0;i<sizeof(a);i++){
  4.   newStr+=a;
  5.   }
  6.   Serial.print(newStr);
複製代碼


寫成函式後, 如下:
  1. String char2string(char* c) {
  2.   String newStr;
  3.   for (int i=0;i<sizeof(c);i++){
  4.     newStr += c[i];
  5.   }
  6.   return newStr;
  7. }
複製代碼



下列式子可以把String轉成char:


  1. String s = "12";
  2. char c[s.length() + 1];
  3. s.toCharArray(c, sizeof(c));
複製代碼

請問如何把它寫成函式?
6#
 樓主| 發表於 2013-4-30 00:23:39 | 只看該作者
atoi() 是將 String 轉為 int,內部的原理也相同,若需要的是整數,最後將String轉為Int即可。

知道atoi ...
babyfish0226 發表於 2013-4-20 11:20


atoi() 無法將 String 轉為 int 吧?class String 並沒有 atoi() 這個涵式.
這樣會出錯:
  1. String s = "25";
  2.   int i = atoi(s);
複製代碼




atoi() 可以將 char[] 轉為 int,
如下:
  1. char s[] = "25";
  2. int i = atoi(s);
複製代碼
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

小黑屋|手機版|Archiver|機器人論壇 from 2005.07

GMT+8, 2024-11-23 18:56 , Processed in 0.091285 second(s), 7 queries , Apc On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表