Arduino で char を int に変換する
- 
          
            Arduino の簡単な方法を使用して charをintに変換する
- 
          
            Arduino の toInt()関数を使ってcharをintに変換する
- 
          
            Arduino の Serial.parseInt()関数を使ってcharをintに変換する
 
このチュートリアルでは、char を int に変換する 3つの方法について説明します。最初の方法は、一度に 1つの char しか変換できない単純な方法です。2 番目の方法は toInt() 関数を使用することであり、3 番目の方法は Serial.parseInt() 関数を使用することです。
Arduino の簡単な方法を使用して char を int に変換する
    
このメソッドは、単一の char を int に変換することしかできません。char からタイプ char のゼロを減算して、int に変換する必要があります。
void loop() {
  char someChar = '2';  // variable to store char
  int someInt = someChar - '0';
}
上記のコードでは、someChar は変換される char を格納するためのタイプ char の変数です。その値を指定された char 変数に変更できます。someInt は、変換の結果を格納するためのタイプ int の変数です。指定された変数が単一の char でない場合は、以下の方法を使用してください。
Arduino の toInt() 関数を使って char を int に変換する
このメソッドでは、最初に、指定された char を string に変換し、次に toInt() 関数を使用して string を int に変換します。
void loop() {
  char someChar = '3';
  String stringOne =
      String(someChar);  // converting a constant char into a String
  stringOne.toInt();
}
上記のコードでは、someChar は指定された char を格納するためのタイプ char の変数です。stringOne はタイプ String の変数です。文字列が有効な数値で始まらない場合、変換は不可能であり、ゼロが返されます。詳細については、リンクを参照してください。
Arduino の Serial.parseInt() 関数を使って char を int に変換する
Arduino のシリアルポートから入力を読み取り、受信した入力を Int に変換する場合は、この方法を使用できます。
void loop() {
  if (Serial.available() > 0) {
    int valA = Serial.parseInt();
  }
}
値が読み取られていないか、数字以外が読み取られた場合、解析は停止します。タイムアウトまで有効な入力が読み取られない場合は、0 が返されます。シリアルのタイムアウトを設定するには、Serial.setTimeout() を参照してください。Serial.parseInt() 関数の詳細については、このリンクを確認してください。
