Я хочу, чтобы изменить текст в число с плавающей запятой для расчета в Qtправильное значение входного сигнала с toFloat() в Qt
float test = ui.tableWidget->item(0, 1)->text().replace(",", ".", Qt::CaseSensitive).toFloat();
когда я типа 2,86, на самом деле я вижу test = 2.85999990
в отладке. Как я могу правильно получить то, что я набрал?
я могу использовать это для показа
qDebug() << QString::number(test, 'f', 2);
Но я хочу значение для расчета, а не для показа.
К сожалению, числа с плавающей запятой не дадут вам более точных результатов. Так они и есть - вы обычно получаете самое близкое число, которое может быть выражено в * числе чисел с плавающей запятой *. Я бы рекомендовал прочитать какую-нибудь википедию по причинам, почему (взгляните на уравнения там). Примечание: 'double' может дать вам несколько лучшие результаты. – hauron
@hauron: спасибо. Да, я проверил с «double», но результат немного лучше, как вы сказали. Есть ли у нас какой-либо способ получить именно то, что мы хотим? – amateur