Вопрос

Я использую Qt и хочу напечатать значение данных (double) в метке;однако конечные нули будут обрезаны.Я знаю, что на C я могу использовать printf("%0.1f", данные) чтобы сохранить конечные нули.

Я посмотрел на qstring's аргумент функция, но это позволяет задать только общую ширину поля. Установленное число и число каждый из них позволяет установить точность, но это тоже неправильно.

Пример кода:

double data = 1.0;
label->setText( QString().number( data );
Это было полезно?

Решение

Посмотрите на статическую функцию QString::number() с аргументами формата и точности.

QString QString::number( double n, char format = 'g', int precision = 6 )

Ссылка: http://doc.qtsoftware.com/4.5/qstring.html#number-2

Другие советы

Почему бы не использовать QString::sprintf() ?

QString().sprintf("%08d + rest of the string", 7);
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top