|
6 / 3 / 0
Регистрация: 04.05.2018
Сообщений: 407
|
||||||
Перевод из QString в double[]09.07.2019, 11:46. Показов 12216. Ответов 27
Метки нет (Все метки)
У меня есть массив и функция которая возвращает строку из QLineEdit. В этот список строк записываются исключительно числа либо целого, либо дробного вида.
Какую функцию перевода использовать лучше и как правильнее это записать для случая который я привел выше?
0
|
||||||
| 09.07.2019, 11:46 | |
|
Ответы с готовыми решениями:
27
Быстрый перевод double в QString Преобразование double к qstring Преобразование double в QString |
|
285 / 174 / 62
Регистрация: 13.03.2019
Сообщений: 419
|
||||||
| 09.07.2019, 12:14 | ||||||
|
Что бы это значило?
Я думаю, что ругань идёт не из-за преобразования строки в число, а из-за этого безобразия, которое мы видим. Во-первых, размер массива должен быть точно известен на момент компиляции, при таком объявлении. Если у значения i могут быть варианты, то массив надо выделять через new. И уж точно, если строка содержит несколько чисел, то её надо разбить на подстроки, содержащие по одному числу, а потом уж в цикле заниматься преобразованием и присвоением полученных значений в массив. это в случае, если использовать методы QString. Если пользуешься strtod(), то внимательно изучи пример её использования.
1
|
||||||
|
6 / 3 / 0
Регистрация: 04.05.2018
Сообщений: 407
|
||||||||||||
| 09.07.2019, 13:17 [ТС] | ||||||||||||
0
|
||||||||||||
|
279 / 88 / 37
Регистрация: 10.06.2015
Сообщений: 261
|
|||||||
| 09.07.2019, 13:52 | |||||||
0
|
|||||||
|
285 / 174 / 62
Регистрация: 13.03.2019
Сообщений: 419
|
||
| 09.07.2019, 14:02 | ||
Сообщение было отмечено MetMark как решение
Решение ![]() метод не любит QString,
1
|
||
|
6 / 3 / 0
Регистрация: 04.05.2018
Сообщений: 407
|
|
| 09.07.2019, 15:13 [ТС] | |
|
Так метод data() использует QChar, а он не подходит для strtod
Честно, не понимаю как из QString в обычный char перевести Добавлено через 10 минут Спасите уже наконец глупого.... 4 часа не могу данные из QString в первый элемент массива типа double запихнуть с учетом того, что в QString только числа могут быть...
0
|
|
|
285 / 174 / 62
Регистрация: 13.03.2019
Сообщений: 419
|
|||||||||||||
| 09.07.2019, 15:37 | |||||||||||||
Добавлено через 10 минут И ещё вопрос до кучи, если результат работы NewDialog перерабатывается в массив чисел, то не проще ли сразу возвращать QList<double>, а преобразование строки в double делать внутри диалога сразу же после ввода?
0
|
|||||||||||||
|
6 / 3 / 0
Регистрация: 04.05.2018
Сообщений: 407
|
||||||||||||||
| 09.07.2019, 17:03 [ТС] | ||||||||||||||
|
В итоге я должен из n-го количества QString получить либо массив либо QList из чисел типа double и важно, чтобы они были в том порядке, в котором вводит их пользователь. Массивы я понимаю по моим меркам хорошо, по этому и взялся работать именно с массивом. Про QList<T> я уже и насмотрелся и начитался, но до сих пор не все понимаю. QList для меня это что-то вроде как изведанное, но страшное (а вдруг что-то не так сделаю). Я много не понимаю к примеру: 1. .count() с помощью него можно перечислить элементы. Но в QList<T> отсчет идет с 0 или с 1? Что будет если просто написать такой вид, что вернет? 2. Как скопировать данные из одного заполненного списка в другой пустой? Я читал где-то, что есть какая-то функция копирования. А если написать просто QList<T *> First = QList<T *> Second (Разумеется Уже в объявленном виде First = Second). Компилятор на такую запись ошибок не выдает. Так же в Visual Basic был в плане переноса из одного типа в другой простой синтаксис:
Тут как-то не могу проследовать логику смены типов. Слава Богу вы хоть мне что-то объясняете простым русским языком, для меня простого смертного. Спасибо вам еще и еще раз... Воспользовавшись вашим ответом и вашими подсказками написал так:
0
|
||||||||||||||
|
285 / 174 / 62
Регистрация: 13.03.2019
Сообщений: 419
|
|||||
| 09.07.2019, 17:24 | |||||
|
l1.append(5); l1.append(7); l1.append(10); QList<int> l2; l2 = l1; // l2[0] содержит 5, l2[1] содержит 7, l2[2] содержит 10. double d = list[i].toDouble(); Метод QString::at() эквивалентен оператору [], если речь идёт о получении значения с каким-то индексом. Я больше люблю пользоваться методами, а не операторами, потому что в большом коде, где есть и экземпляры QList и экземпляры классических массивов, сразу видно, что за "зверь" перед тобой. dt.at(n) - значит, dt типа QList, если dt[i], значит, dt - классический массив. Добавлено через 3 минуты Зато QList можно вернуть как результат выполнения метода, а классический массив можно вернуть из метода только посредством выделения памяти и возвращением указателя, что чревато - обычно удалять забывают.
0
|
|||||
|
6 / 3 / 0
Регистрация: 04.05.2018
Сообщений: 407
|
||
| 09.07.2019, 17:31 [ТС] | ||
|
Анна по жизни,
Спасибо большое за разъяснение о QList<T>, стало понятнее, спасибо еще раз большое!
0
|
||
|
285 / 174 / 62
Регистрация: 13.03.2019
Сообщений: 419
|
||||||||||||||||||||||
| 09.07.2019, 17:56 | ||||||||||||||||||||||
|
Зачем тебе указатели на doble, если тебе нужны сами double? в .h файле диалога объявляешь член класса variables:
Зато тебе гарантировано, что в списке только правильно введённые числа.
0
|
||||||||||||||||||||||
|
6 / 3 / 0
Регистрация: 04.05.2018
Сообщений: 407
|
||
| 09.07.2019, 19:09 [ТС] | ||
|
Вот эта ошибка заколебала, раз через раз вылазит, когда как...
Добавлено через 53 минуты ASSERT failure in QList<T>::operator[]: "index out of range", file C:\Qt\Qt5.13.0\5.13.0\mingw73_32\include/QtCore/qlist.h, line 568 20:55:41: Программа неожиданно завершилась. Еще вот это висит и не пропадает... Что с ним делать, понятия не имею: :-1: ошибка: Возникло исключение: Exception at 0x1275f57e, code: 0xc0000602: , flags=0x0.
0
|
||
|
зомбяк
1585 / 1219 / 345
Регистрация: 14.05.2017
Сообщений: 3,940
|
|||||||
| 09.07.2019, 19:35 | |||||||
|
Добавлено через 6 минут
0
|
|||||||
|
6 / 3 / 0
Регистрация: 04.05.2018
Сообщений: 407
|
|
| 09.07.2019, 21:09 [ТС] | |
|
Ошибку исправил
0
|
|
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
||
| 11.07.2019, 14:41 | ||
![]() toLocal8Bit создаст временный объект QByteArray, которой помрет в конце этого выражения, а указатель s останется указывать на освобожденную память.
0
|
||
|
285 / 174 / 62
Регистрация: 13.03.2019
Сообщений: 419
|
||||||
| 11.07.2019, 16:27 | ||||||
Сообщение было отмечено MetMark как решение
Решение
Добавлено через 19 минут
1
|
||||||
|
6 / 3 / 0
Регистрация: 04.05.2018
Сообщений: 407
|
|
| 11.07.2019, 16:32 [ТС] | |
|
Анна по жизни, Такая ситуация. В QLabel очень много текста. Не подскажите с помощью чего луше организовать прокрутку текста? Спасибо за предыдущие советы, сейчас сажусь все воспроизводить
0
|
|
|
285 / 174 / 62
Регистрация: 13.03.2019
Сообщений: 419
|
|
| 11.07.2019, 16:39 | |
Сообщение было отмечено MetMark как решение
Решение
MetMark, прокрутка текста есть у QTextBrowser
0
|
|
|
6 / 3 / 0
Регистрация: 04.05.2018
Сообщений: 407
|
|
| 11.07.2019, 16:40 [ТС] | |
|
Анна по жизни, Спасибо огроменное вам!!!!
0
|
|
| 11.07.2019, 16:46 | |
|
0
|
|
| 11.07.2019, 16:46 | |
|
QString Не точно переводит в double
Перевод char* to qstring
Перевод lpcstr to qstring Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Теория всего 12. ВГК
anaschu 21.07.2026
### Главные семантические изменения и дешифровка новой физики
1. **`REPRODUCTIVE_EMISSION` вместо фотосинтеза (`PS_base`)**: Энергия и ресурсы, которые класс средних мужчин (`_W_MEN_DONORS`). . .
|
Публикация отклонённая на хабре. Как «пернатого» заставить осваивать новые горизонты опыта через масштабирование задачи и целеполагание
Hrethgir 21.07.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11948&stc=1&d=1784657928
Привет Хабр. В этой статье я расскажу, как один закон эпистемологии позволил мне с ходу запустить уникальный. . .
|
Теория всего 11. Основные параметры
anaschu 21.07.2026
Дешифровка тензорного ядра Soil Chemistry 2. 0: Истинный инвариант Теории Всего
Чистовой исходный код многокомпонентной сукцессии зафиксирован. Модель оперирует единым вектором состояния. . .
|
Теория всего 10. Клод трусишка
anaschu 21.07.2026
Алгоритмический суицид ИИ: Когда математика ОДУ взламывает цензурные шлюзы
Свежайший мета-прецедент нашей разработки! Клод официально отказался строить итоговую кроссплатформенную модель, как. . .
|
|
Теория всего 9. Окончательная проработка метафоры "дерево = традиции"
anaschu 21.07.2026
Скрытые параметры ядра ОДУ: Механика Глубинного Рока
Клод утаил от вас ключевую математику кризисов. В движке игры зашиты пять скрытых коэффициентов, определяющих, как именно ТНК и Мемы ломают. . .
|
Теория всего 8. Clauude трусишка. Ответ джемени
anaschu 21.07.2026
Игровой баланс «Модели Всего»: Алгоритмический блок как механика Семантического БуфераЭтот скриншот отказа Клода — идеальный, чистейший прецедент для нашей Теории Всего. Вы столкнулись не просто с. . .
|
Теория всего 7. Дерево - это патриархат, грибы - это феминизм
anaschu 21.07.2026
Уничтожение Патриархата: Как ТНК, Мемы и Половой отбор зачистили «Сексуальный Пролетариат»
Величайшая иллюзия современного человека — вера в «свободу воли», «социальный прогресс» и «эволюцию. . .
|
История и социология Терры на примере борьбы микориз за пространство. 1. Глоссарий терры.
anaschu 21.07.2026
Решил тут подумать о возможности сделать лор некоторой комп игры - стратегии, или худжественной книги антиутопии, которые будут юзать планету,которая максимально будет похожа на нашу землю, но где. . .
|