Название: Помогите с преобразованием типов данных Отправлено: A-GENT от Ноябрь 04, 2010, 00:02 Недавно начал осваивать QT, да и программирование в целом :). Проблема вот в чем. Имеется переменная QString str в которую заносятся все значения считанные прибором через сокет. Прибор эти значения присылает в ascii кодах (пример приходит строка 1234.56Е-02 нужно преобразовать в 12.3456 типа double). В справке нашел пример перевода из String в Double. По идее результат хранится в переменной d, но она почему то не выводится. Может какая ошибка в строчке при выводе значения?
Цитировать void MainWindow::slotReadyRead() { QString str = m_pTcpSocket->readAll(); // переменной str присваиваются все значения полученные при выполнении считывания сокета bool ok; // преобразование из String в Double double d; d = QString( str ).toDouble(&ok); ui->txtInfo->append("<tt><font color=#0000aa><b>Received: </b></font></tt><font color=#000088>"+d+"</font>"); // вывод значения } при сборке выводит ошибку Цитировать invalid operands of types 'const char [74]' and 'double' to binary 'operator+' Название: Re: Помогите с преобразованием типов данных Отправлено: BlackTass от Ноябрь 04, 2010, 00:09 QString("<tt><font color=#0000aa><b>Received: </b></font></tt><font color=#000088>%1</font>").arg(d)
Название: Re: Помогите с преобразованием типов данных Отправлено: A-GENT от Ноябрь 04, 2010, 00:19 Оперативно реагируете :) Огромное человеческое спасибо :) Сборка запускается. Завтра на приборе проверю
Название: Re: Помогите с преобразованием типов данных Отправлено: A-GENT от Ноябрь 22, 2010, 00:58 Пришлось заморочиться с преобразованием из double обратно в string. Проблемка решена :)
Цитировать QString str = m_pTcpSocket->readAll(); QString str2; bool ok; double d; d = QString( str ).toDouble(&ok); // qDebug()<< d; // ui->txtInfo->append("<tt><font color=#0000aa><b>Received: </b></font></tt><font color=#000088>"+str.left(str.length()-2)+"</font>"); str2 = QString("%1 dBm").arg(d,0,'f',3); ui->txtInfo->append("<tt><font color=#0000aa><b>Received: </b></font></tt><font color=#000088>"+str2+"</font>"); |