crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Тема закрытаНачать новую тему
> Похоже на баг
Dimix
  опции профиля:
сообщение 21.2.2011, 16:21
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 74
Регистрация: 24.11.2010
Пользователь №: 2215

Спасибо сказали: 0 раз(а)




Репутация:   0  


ui->lineEdit_3->text() == 7935
ui->lineEdit_4->text() == 16,25
QLocale ukrLocal(QLocale::Ukrainian, QLocale::Ukraine);
    qint64 sumi=(ui->lineEdit_3->text().toInt()*(ukrLocal.toInt(ui->lineEdit_4->text().remove(QRegExp("\\s+")))));
    double sumd=(ui->lineEdit_3->text().toDouble()*(ukrLocal.toDouble(ui->lineEdit_4->text().remove(QRegExp("\\s+")))));//sumd == 128943.75
    if(sumi>=1000000){
        ui->lineEdit_5->setText(ukrLocal.toString(sumi));
        sumi=((sumi*20)/100)+sumi;
        ui->lineEdit_6->setText(ukrLocal.toString(sumi));
    }else{
        ui->lineEdit_5->setText(ukrLocal.toString(sumd));//sumd == 128943.75
        sumd=((sumd*20)/100)+sumd;
        ui->lineEdit_6->setText(ukrLocal.toString(sumd));//sumd == 154732.5
    };
Мой ui->lineEdit_5->setText() == 128 943
ui->lineEdit_6->setText() == 154 732
Это debug так показывает что принимает sumd а вот передает не то что имеет.
Вопрос такой где половина числа после запятой?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Rocky
  опции профиля:
сообщение 21.2.2011, 17:06
Сообщение #2


Старейший участник
****

Группа: Участник
Сообщений: 530
Регистрация: 22.12.2008
Из: Санкт-Петербург
Пользователь №: 463

Спасибо сказали: 22 раз(а)




Репутация:   7  


Потому что нужно писать хотябы так:
ui->lineEdit_6->setText(ukrLocal.toString(sumd, 'f', 1));
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Dimix
  опции профиля:
сообщение 21.2.2011, 17:32
Сообщение #3


Студент
*

Группа: Участник
Сообщений: 74
Регистрация: 24.11.2010
Пользователь №: 2215

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(Rocky @ 21.2.2011, 18:06) *
Потому что нужно писать хотябы так:
ui->lineEdit_6->setText(ukrLocal.toString(sumd, 'f', 1));
Да действительно так работает только вот в моем случае до 2-x 'f' 2
СПАСИБО :clapping:
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Тема закрытаНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 14.8.2020, 2:59