Название: Преобразование типов Отправлено: ppk от Апреля 15, 2010, 16:45 Здравствуйте.
Пишу в коде, допустим, такую строку: Код: double d = 25232.875934; Получаю d равное 25232.8 Пробовал разные значения, но они всегда обрезаются до 6 знаков. Подскажите, в чем дело? Заранее спасибо за ответ. Название: Re: Преобразование типов Отправлено: Авварон от Апреля 15, 2010, 16:57 что значит "получаю"
Название: Re: Преобразование типов Отправлено: ppk от Апреля 15, 2010, 16:58 что значит "получаю" Вывожу через qDebug()<<d или на интерфейс.Название: Re: Преобразование типов Отправлено: Amigo_sa от Апреля 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); Название: Re: Преобразование типов Отправлено: ppk от Апреля 15, 2010, 17:34 А в qDebug() разве не должно реальное значение выводиться?
Название: Re: Преобразование типов Отправлено: crossly от Апреля 15, 2010, 17:55 qDebug выводит с помощью QTextStream.... из исходника
Код: const QLocalePrivate *dd = d->locale.d(); Название: Re: Преобразование типов Отправлено: ppk от Апреля 15, 2010, 18:18 Спасибо всем откликнувшимся.
Название: Re: Преобразование типов Отправлено: Tonal от Апреля 16, 2010, 08:25 "Реальное" значение числа с плавающей запятой (http://ru.wikipedia.org/wiki/%D0%A7%D0%B8%D1%81%D0%BB%D0%B0_%D1%81_%D0%BF%D0%BB%D0%B0%D0%B2%D0%B0%D1%8E%D1%89%D0%B5%D0%B9_%D0%B7%D0%B0%D0%BF%D1%8F%D1%82%D0%BE%D0%B9) не всегда можно представить в конечном десятичном изображении. :)
|