Как перевести int в qstring

How to convert int to QString?

9 Answers 9

Как перевести int в qstring

And if you want to put it into string within some text context, forget about + operator. Simply do:

A float to a string or a string to a float :

Yet another option is to use QTextStream and the operator in much the same way as you would use cout in C++:

Caution: You might be tempted to use the sprintf() facility to mimic C style printf() statements, but it is recommended to use QTextStream or arg() because they support Unicode string s.

Как перевести int в qstring

setNum() is overloaded in many ways. See QString class reference.

Как перевести int в qstring

In it’s simplest form, use the answer of Georg Fritzsche

For a bit advanced, you can use this,

Get the documentation and an example here..

Как перевести int в qstring

If you need locale-aware number formatting, use QLocale::toString instead.

Just for completeness, you can use the standard library and do QString qstr = QString::fromStdString(std::to_string(42));

QLocale has a handy way of converting numbers. It’s not much more typing than the accepted answer, but is more useful in the case of floats; so I like to do both this way. Here’s for an int:

and here’s for a float:

but according to the help «Unlike QLocale::toString(), this function does not honor the user’s locale settings.»

Источник

Русские Блоги

QT —— Преобразование QString и Int, double, char *, DateTime

int конвертируется в QString

[static] QString QString::number (int n, int base = 10)

параметр:

Примеры:

удвоить до QString

[static] QString QString::number (double n, char format = ‘g’, int precision = 6)

Ссылка на формат:

Как перевести int в qstring

Конвертировать QString в int

int QString::toInt (bool *ok = nullptr, int base = 10) const

QString для удвоения

double QString::toDouble (bool *ok = nullptr) const

Конвертировать QString в char *

char * конвертируется в QString

Конвертировать QDatetime в QString

String QDate Time::toString (Формат QStringView) const // формат для преобразования

Ссылка на формат:

Expression

Output

the day as number without a leading zero (1 to 31)

the day as number with a leading zero (01 to 31)

the abbreviated localized day name (e.g. ‘Mon’ to ‘Sun’). Uses the system locale to localize the name, i.e. QLocale::system().

the long localized day name (e.g. ‘Monday’ to ‘Sunday’). Uses the system locale to localize the name, i.e. QLocale::system().

the month as number without a leading zero (1-12)

the month as number with a leading zero (01-12)

the abbreviated localized month name (e.g. ‘Jan’ to ‘Dec’). Uses the system locale to localize the name, i.e. QLocale::system().

the long localized month name (e.g. ‘January’ to ‘December’). Uses the system locale to localize the name, i.e. QLocale::system().

the year as two digit number (00-99)

the year as four digit number

These expressions may be used for the time:

Expression

Output

the hour without a leading zero (0 to 23 or 1 to 12 if AM/PM display)

the hour with a leading zero (00 to 23 or 01 to 12 if AM/PM display)

the hour without a leading zero (0 to 23, even with AM/PM display)

the hour with a leading zero (00 to 23, even with AM/PM display)

the minute without a leading zero (0 to 59)

the minute with a leading zero (00 to 59)

the whole second without a leading zero (0 to 59)

the whole second with a leading zero where applicable (00 to 59)

the fractional part of the second, to millisecond precision, including trailing zeroes where applicable (000 to 999).

use am/pm display. a/ap will be replaced by either «am» or «pm».

Источник

Как преобразовать QString в int?

у меня есть QString в моих источниках.
Поэтому мне нужно преобразовать его в целое число без «кб».

Я старался Abcd.toInt() Но это не работает.

Решение

В вашей строке нет всех цифровых символов. Таким образом, вы должны разделить на пространство

Обновить: Я обновляю старый ответ. Это был прямой ответ на конкретный вопрос со строгим предположением. Однако, как отметили @DomTomCat в комментариях и @Mikhail в ответе, в общем, всегда следует проверять, успешна ли операция или нет. Так что использование логического флага необходимо.

Кроме того, если вы принимаете эту строку в качестве пользовательского ввода, вы также должны сомневаться в том, действительно ли строка разделяется с пробелом. Если существует вероятность того, что предположение может быть нарушено, то проверяющее регулярное выражение является более предпочтительным. Регулярное выражение, подобное следующему, извлечет значение с плавающей запятой и префиксный символ «b». Тогда вы можете смело конвертировать захваченные строки в двойные.

Вы можете иметь функцию полезности, как показано ниже

Другие решения

Тогда используйте toDouble() чтобы получить число с плавающей запятой и округлить, как вы хотите.

Не забудьте проверить, если преобразование прошло успешно!

В качестве предложения вы также можете использовать QChar::digitValue() получить числовое значение цифры. Например:

Источник

Русские Блоги

Основные типы данных в Qt

1.1 Базовый тип данных QGlobal

1.2 Общие функции

Сравните размер чисел с плавающей точкой

Получить переменные среды

result size(100,14) size1(104,10) size2(104.0,10.0);

Отладчик расширится в третью форму

QString: манипулирование строкой Qt

2.3 Заменить
replace (1,0, str1); // Параметр один: начиная с какой позиции, параметр два: несколько позиций от базовой точки к задней части, а затем поместить этот абзац Удалить и заменить на ул

2.5 Вставка QString

2.6 оценивается как NULL | Пусто

2.7 Найдите, где появляется строка

2.8 Найдите количество вхождений строки

2.9 Найдите, содержит ли она другую строку

2.10 Перехват строки

2.11. Число в строку QString

2.12 Форматированный вывод

2.13 QString и std: строковое преобразование

QByteArray

3.1 Инициализация
3.2 Доступ
3.3 QByteArray и преобразование char *
3.4 Понимание / 0

При преобразовании в строку \ 0 завершится здесь и получит 3, hel

3.5 QVariant

Переменные QVariant не имеют типа данных, как общее тело (Union) наиболее распространенного типа данных Qt, но это может быть только один объект за раз, и некоторые объекты могут быть многозначными (например, список строк)
Вы можете использовать toT (): T, чтобы представить тип данных, преобразовать QVariant в другой тип и получить значение, вот назначение объекта, поэтому исходный объект не изменится

Источник

Урок №2. Строки в Qt5 и класс QString

Обновл. 16 Сен 2021 |

На этом уроке мы будем работать со строками. Для этого в Qt5 реализован класс QString, который является очень мощным классом с большим количеством полезных методов.

Строки

Класс QString предоставляет Unicode-строку, которая сохраняет обычную строку в качестве 16-битных значений типа QChar, где каждый QChar соответствует одному символу формата Unicode 4.0. В отличие от строк во многих других языках программирования, QString можно изменять.

Как перевести int в qstring

В нашем первом примере мы попробуем использовать несколько базовых методов класса QString. В этом нам поможет класс QTextStream, который предоставляет удобный интерфейс для чтения и записи текстовых данных:

Результат выполнения программы:

Как перевести int в qstring

Обратите внимание, методы a.toUpper() и a.toLower() не модифицируют исходную строку, а работают с её копией.

А в следующей строке мы создаем объект (вы можете назвать его как хотите) out класса QTextStream, чтобы связать его со стандартным выводом ( stdout ) и иметь возможность использовать функционал класса QTextStream — выполнять вывод на экран:

Инициализация строк

Класс QString позволяет инициализировать строки разными способами. Ниже представлен пример с 5-ю различными вариантами инициализации:

Результат выполнения программы:

Как перевести int в qstring

Инициализация №3: Инициализация строки с помощью средств Cтандартной библиотеки C++. Метод c_str() генерирует строку C-style. Данный массив символов, который является классическим способом представления строк в языке Си, может быть присвоен объекту класса QString:

Инициализация №5: А это строка в языке Cи, которая является массивом символов. Один из конструкторов класса QString может принимать массив символов в качестве параметра:

Доступ к элементам строки

Объект класса QString представляет собой последовательность QChar-«символов» (я специально взял в кавычки слово «символы»). Доступ к элементам строки можно получить c помощью оператора индексации [] или метода at(). В следующем примере мы будем выводить отдельные символы строки, которая является объектом класса QString:

Результат выполнения программы:

Как перевести int в qstring

Примечание: Убедитесь, что при использовании метода at() ваш индекс не выходит за границы массива.

Длина строк

Есть 3 метода, которые позволяют получить информацию о длине строки:

Все они делают одно и то же — возвращают количество символов в строке. В следующем примере мы выводим длину четырех строк:

Результат выполнения программы:

Как перевести int в qstring

Построение строк

Результат выполнения программы:

Как перевести int в qstring

Подстроки

При работе со строками вам может понадобиться выделить подстроку из исходной строки. Справиться с данной задачей помогут методы left(), right() и mid():

Результат выполнения программы:

Как перевести int в qstring

Класс QStringRef является версией «только для чтения» класса QString. Первым параметром мы указываем исходную строку, вторым — начальную позицию, третьим — длину подстроки:

Циклы и строки

Объекты класса QString состоят из элементов типа QChar. При этом мы можем использовать циклы для доступа к каждому элементу строки. Мы рассмотрим 3 варианта работы с элементами объектов класса QString:

Результат выполнения программы:

Как перевести int в qstring

Способ №1: Ключевое слово foreach является расширением языка C++ средствами Qt. Первый параметр — это один символ строки, а второй — строка, которую мы будем перебирать посимвольно:

Способ №2: Использование итераторов:

Способ №3: Используем цикл for, где с помощью метода size() получаем допустимые границы перебора, а с помощью метода at() — доступ к символам строки:

Сравнение строк

Статический метод QString::compare() используется для сравнения двух строк и возвращает целочисленное значение.

Под словом «меньше» подразумевается, что в таблице символов выбранный символ одной строки предшествует соответствующему выбранному символу другой строки. Сами строки сравниваются следующим образом: сначала сравниваются первые символы двух строк — если они совпадают, то сравнивается следующая пара символов, и так до тех пор, пока не найдем отличающиеся символы или не переберем все символы до конца. С помощью метода compare() мы проведем 2 сравнения: учитывая и не учитывая регистр букв.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *