【问题标题】:How to get greater accuracy when converting the QTableItem to QDoubleSpinBox?将 QTableItem 转换为 QDoubleSpinBox 时如何获得更高的准确性?
【发布时间】:2016-06-26 10:36:31
【问题描述】:

有一段代码:

std::cout << static_cast<QDoubleSpinBox*>(ui->InitialValuesTable->cellWidget(2, 1))->value() << std::endl;

在这里我得到了一个表格单元格的值。单元格是 QDoubleSpinBox。 表格值的精度为 15 位小数。但是,在执行这行代码之后,我得到的只是点后 6 位数字。如何获取精度为 15 位小数的表格值?

【问题讨论】:

    标签: c++ qt


    【解决方案1】:

    如果你想让std::cout 输出更多的小数,你可以使用std::setprecision 告诉它这样做:

    std::cout << std::setprecision(15) << static_cast<QDoubleSpinBox*>(ui->InitialValuesTable->cellWidget(2, 1))->value() << std::endl;
    

    注意上面的15精度,而不是小数位数。另请注意,double一般只有 15 位 精度,因此显示更多数字实际上是在欺骗自己和/或用户。


    您可以使用QDoubleSpinBoxdecimals 属性来设置其显示精度。

    【讨论】:

      猜你喜欢
      • 2014-08-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-10
      • 1970-01-01
      • 1970-01-01
      • 2019-09-14
      相关资源
      最近更新 更多