2016-11-30 4 views
0

Использование библиотеки Arduino Wifi (модель MKR1000), я получаю значение с веб-страницы. Конечно, ценность, которую я получаю, - это ascii, поэтому у Arduino не получается получить его и превратить в число.Преобразование ASCII в int

В основном, вместо 62 (число, которое находится на веб-странице) Я получаю «5450» (где 54 - значение ASCII для 6 и 50 - значение ASCII для 2).

Мой код

String c; 
// By setting this to String it prints out 5450 
// By setting this to int it instead prints out "hp" 

if (client.connect(server, 80)) { 
    Serial.println("connected to server"); 
    // Make a HTTP request: 
    client.println("GET /arduino/electricity.php"); 
    delayNumber = 0; 
} 


    while (client.available()) { 
    c = c + client.read(); 
    } 
//Adds 54 and then 50 to c 


Serial.print("C is: " + c); 
//Currently prints 5450 

Я полностью утрачена. Как я могу сделать так, чтобы моя переменная «c» составляла 62?

EDIT: Я перевел 54 и 50 с помощью этой таблицы http://www.asciitable.com/

+0

Глупо спросить, почему 6 значение DEC 54 и 2 значение DEC 50? –

+0

Это просто, я следил за этой ссылкой для перевода http://www.asciitable.com/ – Eight

+0

Это код ascii, а не значение DEC. Вы не должны заставлять других неправильно понимать. –

ответ

0

client.read() будет возвращать целое число в вашем случае.

Попробуйте использовать это:

c += (char) client.read(); 

Я только ответил на этот вопрос на основании своих знаний в Java.
Исправьте меня, если я ошибаюсь.

+0

Хорошо, это возвращает String с 62, так что теперь мне нужно только преобразовать эту строку в int. – Eight

+0

Я использовал c.toInt(), и теперь это int. Ты не представляешь, как сильно я тебя люблю сейчас. – Eight

Смежные вопросы