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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Преобразование типов  (Прочитано 4499 раз)
ppk
Гость
« : Апрель 15, 2010, 16:45 »

Здравствуйте.
Пишу в коде, допустим, такую строку:
Код:
double d = 25232.875934;

Получаю d равное 25232.8
Пробовал разные значения, но они всегда обрезаются до 6 знаков.
Подскажите, в чем дело?

Заранее спасибо за ответ.

« Последнее редактирование: Апрель 15, 2010, 16:52 от ppk » Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3258


Просмотр профиля
« Ответ #1 : Апрель 15, 2010, 16:57 »

что значит "получаю"
Записан
ppk
Гость
« Ответ #2 : Апрель 15, 2010, 16:58 »

что значит "получаю"
Вывожу через qDebug()<<d или на интерфейс.
Записан
Amigo_sa
Гость
« Ответ #3 : Апрель 15, 2010, 17:18 »

Здравствуйте.
Пишу в коде, допустим, такую строку:
Код:
double d = 25232.875934;

Получаю d равное 25232.8
Пробовал разные значения, но они всегда обрезаются до 6 знаков.
Подскажите, в чем дело?

Цитировать
QString QString::number ( double n, char format = 'g', int precision = 6 )   [static]
Returns a string equivalent of the number n, formatted according to the specified format and precision.

Соответственно, чтобы вам выводить большую точность, нужно формировать строчку как
Код:
QString formattedNumber = QString::number(n, 'g', 10);
к примеру
Записан
ppk
Гость
« Ответ #4 : Апрель 15, 2010, 17:34 »

А в qDebug() разве не должно реальное значение выводиться?
Записан
crossly
Гость
« Ответ #5 : Апрель 15, 2010, 17:55 »

qDebug выводит с помощью QTextStream.... из исходника
Код:
const QLocalePrivate *dd = d->locale.d();
    QString num = dd->doubleToString(f, d->realNumberPrecision, form, -1, flags);
где d->realNumberPrecision=6
Записан
ppk
Гость
« Ответ #6 : Апрель 15, 2010, 18:18 »

Спасибо всем откликнувшимся.
Записан
Tonal
Гость
« Ответ #7 : Апрель 16, 2010, 08:25 »

"Реальное" значение числа с плавающей запятой не всегда можно представить в конечном десятичном изображении. Улыбающийся
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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