我有一个LineEdit
,希望它显示一个float
值。我希望float
值具有2位数的精度,所以我使用了如下数字函数:
float tax = value * 0.23;
Qstring strTax = QString::number(tax, 'f', 2);
qDebug() << strTax;
ui->leTax->setText(strTax);
事实是,在控制台中,该值以2位数的精度打印,而该小部件将打印可能为3或更多(取决于值)的所有十进制数字。有办法解决吗?我正在使用Qt 5.0。
最佳答案
因此,这是公认的答案。我终于解决了我的问题。 onTextUpdate
必须再更新两个LineEdits
,一个包含Tax,另一个包含Total。但是包含totalAmount
的那个也发出了onTextChanged
来更新净值和Tax LineEdits
,而没有四舍五入这些值(我很粗心!!)。因此,我更正了totalAmount
的onTextChanged
。我还更新了它以检查它是否具有焦点,以便知道是否该轮到更新其他LineEdits
了:)。关键是有人可以编辑netValue
行编辑,这将更新税额和总金额,或者有人输入totalAmount
,并自动更新净额和税额字段。现在一切正常。谢谢大家的回答!