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()
関数の詳細については、このリンクを確認してください。