Arduino で char を int に変換する

Ammar Ali 2023年10月12日
  1. Arduino の簡単な方法を使用して charint に変換する
  2. Arduino の toInt() 関数を使って charint に変換する
  3. Arduino の Serial.parseInt() 関数を使って charint に変換する
Arduino で char を int に変換する

このチュートリアルでは、charint に変換する 3つの方法について説明します。最初の方法は、一度に 1つの char しか変換できない単純な方法です。2 番目の方法は toInt() 関数を使用することであり、3 番目の方法は Serial.parseInt() 関数を使用することです。

Arduino の簡単な方法を使用して charint に変換する

このメソッドは、単一の charint に変換することしかできません。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() 関数を使って charint に変換する

このメソッドでは、最初に、指定された charstring に変換し、次に toInt() 関数を使用して stringint に変換します。

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() 関数を使って charint に変換する

Arduino のシリアルポートから入力を読み取り、受信した入力を Int に変換する場合は、この方法を使用できます。

void loop() {
  if (Serial.available() > 0) {
    int valA = Serial.parseInt();
  }
}

値が読み取られていないか、数字以外が読み取られた場合、解析は停止します。タイムアウトまで有効な入力が読み取られない場合は、0 が返されます。シリアルのタイムアウトを設定するには、Serial.setTimeout() を参照してください。Serial.parseInt() 関数の詳細については、このリンクを確認してください。

著者: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook

関連記事 - Arduino Integer