2015-11-05 2 views
0

Я получаю доступ к значению, установленному на QDoubleSpinBox, путем вызова функции value().Значение QDoubleSpinBox(), возвращающее неправильное двойное значение

mydoublespinbox->value(); 

Сценарий 1 Visible значение в элементе управления является 899,9823 значение() функция возвращает: 899,982 (последний десятичный отсутствует)

Сценарий 2 Когда введенное значение 99.9823value() функция возвращает правильное значение 99.9823

Что случилось в 1-м сценарии?

+0

Я предполагаю, что это происходит из-за скрытых параметров отображения, станд :: соиЬ также делает так: она представляет 9.99823e-2, 0,99823, 9,9823, 99.9823 , 999.823, 9998.23, 99982.3, 999823, даже если есть больше десятичных знаков, другими словами, он делает приближение по десятичным знакам в зависимости от того, насколько они репрезентативны. – sop

+1

Спасибо @sop. Ваш комментарий заставил меня найти решение моей проблемы – warunanc

ответ

0

Я хочу присвоить значение переменной QString. Следующий сегмент кода делает трюк

QString::number(mydouble_spinbox->value(), 'f', mydouble_spinbox->decimals()); 

Related Qt Documentation

Смежные вопросы