Russian Qt Forum

Qt => Общие вопросы => Тема начата: Vladimir от Апрель 29, 2013, 10:06



Название: QString to double конвертировать с заданной точностью
Отправлено: Vladimir от Апрель 29, 2013, 10:06
Доброго дня! Как добиться преобразования QString в double с заданной точностью.

Код:
QString str("53.8016666667");
qDebug() << str.toDouble();
Выводит: 53.8017

Так выводит только с точностью 4 знака (atiof() тоже 4 знака). Как преобразовать "53.8016666667" все числа после "." ?


Название: Re: QString to double конвертировать с заданной точностью
Отправлено: m_ax от Апрель 29, 2013, 11:07
Доброго дня! Как добиться преобразования QString в double с заданной точностью.

Код:
QString str("53.8016666667");
qDebug() << str.toDouble();
Выводит: 53.8017

Так выводит только с точностью 4 знака (atiof() тоже 4 знака). Как преобразовать "53.8016666667" все числа после "." ?

Из того что qDebug показывает только 4 значащих цифры, ещё не следует, что преобразование не работает..
Код
C++ (Qt)
QString str("53.8016666667");
    double d = str.toDouble();
    if (d == 53.8016666667) qDebug() << "ok";
 


Название: Re: QString to double конвертировать с заданной точностью
Отправлено: Vladimir от Апрель 29, 2013, 11:40
Мг.. возможно и так! Просто полученные double я потом использую в формулах и там результат отличается от эталонного, не сильно но все же:
Нужно         5964119.24
Получается  5964119.23
Я решил, что из-за этого.. Наверное косяк в формулах и там, что-то не так округляется!


Название: Re: QString to double конвертировать с заданной точностью
Отправлено: m_ax от Апрель 29, 2013, 11:47
Я решил, что из-за этого.. Наверное косяк в формулах и там, что-то не так округляется!

Ну (ковыряясь в зубах)


Название: Re: QString to double конвертировать с заданной точностью
Отправлено: Vladimir от Апрель 29, 2013, 11:48
Я решил, что из-за этого.. Наверное косяк в формулах и там, что-то не так округляется!

Ну (ковыряясь в зубах)


:)