Форум программистов
 
Регистрация на форуме тут, о проблемах пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль

Купить рекламу на форуме 15-35 тыс рублей в месяц

Вернуться   Форум программистов > C/C++ программирование > Qt и кроссплатформенное программирование С/С++
Регистрация

Восстановить пароль
Повторная активизация e-mail

           Online-курс Java с оплатой после трудоустройства. Каждый выпускник получает предложение о работе
           И зарплату на 30% выше ожидаемой, подробнее на сайте академии, ссылка - https://clck.ru/fCqwP

Ответ
 
Опции темы Поиск в этой теме
Старый 08.03.2020, 14:22   #1
keisi
Пользователь
 
Регистрация: 13.01.2014
Сообщений: 11
По умолчанию конвертировать строку в число и обратно

Здравствуйте. Подскажите, для QSpinBox конвертировать строку в число и обратно, пользуюсь таким способом
Код:
void MainWindow::on_pushButton_clicked()
{
 
    int  x, y, c;
 
 
       //Считаем значение из  SpinBox
       QString S1 = ui->spinBox->text();
       //Переведем значение в число
       x = S1.toInt();
 
 
       QString S2 = ui->spinBox_2->text();
       y = S2.toInt();
 
            //Сделаем расчет
 
 
       c =  x + y;
 
           //Выведем результат
       ui->textEdit->setText("");
       ui->textEdit->insertPlainText(QString::number(c));
}
Как тоже самое делать для QDoblespinBox? Спасибо.
keisi вне форума Ответить с цитированием
Старый 08.03.2020, 16:23   #2
Subst
Пользователь
 
Регистрация: 30.01.2020
Сообщений: 53
По умолчанию

может, я что-то не понял... а зачем?

чем тебе не угодил QSpinBox::value и setValue ?
Subst вне форума Ответить с цитированием
Старый 08.03.2020, 16:35   #3
keisi
Пользователь
 
Регистрация: 13.01.2014
Сообщений: 11
По умолчанию

Цитата:
Сообщение от Subst Посмотреть сообщение
может, я что-то не понял... а зачем?

чем тебе не угодил QSpinBox::value и setValue ?
Нужно чтобы обрабатывались не только целые числа, но и дробные. Если можно это делать с SpinBox подскажите на примере, я не знаю как.
keisi вне форума Ответить с цитированием
Старый 08.03.2020, 16:39   #4
Subst
Пользователь
 
Регистрация: 30.01.2020
Сообщений: 53
По умолчанию

spinBox, ы общем, то придуман для целых чисел
QDoubleSpinBox - для double, как ясно из названия... ну и value() вернет double, соответственно
Subst вне форума Ответить с цитированием
Старый 08.03.2020, 16:47   #5
keisi
Пользователь
 
Регистрация: 13.01.2014
Сообщений: 11
По умолчанию

Цитата:
Сообщение от Subst Посмотреть сообщение
spinBox, ы общем, то придуман для целых чисел
QDoubleSpinBox - для double, как ясно из названия... ну и value() вернет double, соответственно
Если можно приведите пример, я новичок, не понимаю о чем вы. Как, например, сложить 2+2.2?
keisi вне форума Ответить с цитированием
Старый 08.03.2020, 16:59   #6
Subst
Пользователь
 
Регистрация: 30.01.2020
Сообщений: 53
По умолчанию

QDoubleSpinBox dsp=new QDoubleSpinBox(this);
double first_value=dsp->value();
int second_value=2;

double result=first_value+second_value;

QTextEdit *textEdit=new QTextEdit(this);
textEdit->document()->setPlainText(QString("The Result is: %1").arg(result));
Subst вне форума Ответить с цитированием
Старый 08.03.2020, 18:35   #7
keisi
Пользователь
 
Регистрация: 13.01.2014
Сообщений: 11
По умолчанию

Цитата:
Сообщение от Subst Посмотреть сообщение
QDoubleSpinBox dsp=new QDoubleSpinBox(this);
double first_value=dsp->value();
int second_value=2;

double result=first_value+second_value;

QTextEdit *textEdit=new QTextEdit(this);
textEdit->document()->setPlainText(QString("The Result is: %1").arg(result));

Извините, ничего не понял. Можно так c = x + y;, где x = 2, y = 2.2, значит C = 4.2
keisi вне форума Ответить с цитированием
Старый 08.03.2020, 18:51   #8
Subst
Пользователь
 
Регистрация: 30.01.2020
Сообщений: 53
По умолчанию

совершенно верно, С будет 4.2
Subst вне форума Ответить с цитированием
Старый 08.03.2020, 19:06   #9
keisi
Пользователь
 
Регистрация: 13.01.2014
Сообщений: 11
По умолчанию

Цитата:
Сообщение от Subst Посмотреть сообщение
совершенно верно, С будет 4.2
А как передать эти значения переменным x, y, c? Мне бы прям конкретный пример с = y + x, как у меня в первом сообщении.
keisi вне форума Ответить с цитированием
Старый 08.03.2020, 20:55   #10
Subst
Пользователь
 
Регистрация: 30.01.2020
Сообщений: 53
По умолчанию

void MainWindow:n_pushButton_clicked()
{
int x, y, c;

x = ui->spinBox_1->value();//S1.toInt();
y = ui->spinBox_2->value();
//Сделаем расчет
c = x + y;
//Выведем результат
ui->textEdit->document()->setPlainText(QString("%1").arg(c)) ;
}


void MainWindow:n_pushButton_clicked()
{
double x, y, c;

x = ui->doubleSpinBox_1->value();//S1.toInt();
y = ui->doubleSpinBox_2->value();
//Сделаем расчет
c = x + y;
//Выведем результат
ui->textEdit->document()->setPlainText(QString("%1").arg(c)) ;
}
Subst вне форума Ответить с цитированием
Ответ

           Интенсив по Python: Работа с API и фреймворками 24-26 ИЮНЯ 2022. Знаете Python, но хотите расширить свои навыки?
           Slurm подготовили для вас особенный продукт! Оставить заявку по ссылке - https://slurm.club/3MeqNEk

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как проще конвертировать строку с текстом в бинарную строку, а затем наоборот Krasi Общие вопросы .NET 10 08.11.2015 18:36
Пребразовать string-строку в число и обратно. - Как? Avaj C++ Builder 16 03.02.2011 19:03
FireBird. Как конвертировать Integer в Date и обратно? BeJIuKuu_Hexo4yxa SQL, базы данных 5 25.10.2010 10:10
Конвертировать строку из ANSI в UNICODE Миша Общие вопросы Delphi 8 28.12.2009 18:23