ทำดังนี้ครับ
1. การแปลงข้อความเป็นตัวเลข สามารถใช้ class string ในฟังก์ชั่น toInt(); แปลงเป็นตัวเลขได้
ตัวอย่างดังโคดนี้
void setup() {
Serial.begin(9600);
String str = "10";
int val = str.toInt();
val = val+30;
Serial.println(val); // val จะได้ค่า 40 สังเกตว่า 10+30 บวกได้ถูกต้องแสดงว่าเป็นตัวเลขแล้ว
}
void loop() {
}
2. ที่ให้มาเป็นข้อความหลายตัว โดยมี ช่องว่างคั่น การแยกข้อความแต่ละตัวเก็บไว้ใน ตัวแปร ผมเขียนตัวอย่างให้ดังนี้ครับ
void setup() {
Serial.begin(9600);
String input = "123,456";
String value1, value2;
for (int i = 0; i < input.length(); i++) {
if (input.substring(i, i + 1) == ",") {
value1 = input.substring(0, i);
value2 = input.substring(i + 1);
break;
}
}
Serial.println(value1);
Serial.println(value2);
}
void loop() {
}
ก็อปโคดทั้ง 2 ตัวอย่างนี้ แล้วดูผลลัพธ์ก็จะได้ตัวเลขตามที่ต้องการครับ
ผมลองส่ง 3 Data แล้วมาแยก มันไม่ได้อะครับ ช่วยหน่อยครับ ขอบคุณล่วงหน้าครับ
อยากทราบเหมือนกันครับว่าถ้าแยกสามตัวต้องทำยังไงครับ ในกรณที่ผมมีข้อมูล
13.656645,100.1546879,2