Russian Qt Forum
Ноябрь 22, 2024, 17:21 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Преобразование букв кириллицы в цифры  (Прочитано 2152 раз)
Malina
Новичок

Offline Offline

Сообщений: 2


Просмотр профиля
« : Январь 05, 2021, 05:35 »

Пишу генератор случайных чисел привязанный к имени пользователя. Имя пишется кириллицей.
Пользователь вводит :
 QString FIO = ui->lineEdit_F ->text();

Необходимо взять первую букву имени и присвоить ей число, например, А=1... Я=32.
Как можно от строки отделить первую букву, определить ей численное значение и использовать дальше для расчетов?
Как заставить Qt работать с кириллицей?

Записан
Fregloin
Супер
******
Offline Offline

Сообщений: 1025


Просмотр профиля
« Ответ #1 : Январь 05, 2021, 12:46 »

Как вариант, использовать QMap<QChar,int> (std::map)

std::map<QChar,int> map = {
{ QChar('A'), 1 },
{ QChar('Б'), 2 },
 ...
{ QChar('Я'), 32}
};

for (const auto& current_char : string_value)
{
    const auto it = map.find(current_char);
    if (it != map.end())
    {
        int int_value = it->second; //нужное вам значение
    }
}

Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #2 : Январь 05, 2021, 13:23 »

А почему не использовать просто значение уникода, напр
Код
C++ (Qt)
QString FIO = ui->lineEdit_F ->text();
int val = FIO[0].unicode();   // вот и число
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.124 секунд. Запросов: 22.