• 6140阅读
  • 16回复

[提问]QDoubleSpinBox  有效位 [复制链接]

上一主题 下一主题
离线searchcai
 

只看楼主 正序阅读 楼主  发表于: 2013-05-12
QDoubleSpinBox  有效位位数为什么总是6啊?例如我输入1234.123返回1234.12
如果输入12345.123则返回12345.1

我的设置如下:
离线searchcai

只看该作者 16楼 发表于: 2013-05-12
已经解决了。在插入数据库时要做一些处理
离线searchcai

只看该作者 15楼 发表于: 2013-05-12
就是这个问题,但没有结果啊
http://www.qtcn.org/bbs/read-htm-tid-34239.html
离线searchcai

只看该作者 14楼 发表于: 2013-05-12
mysql数据库字段定义为float(12,3)
离线searchcai

只看该作者 13楼 发表于: 2013-05-12
输出就变为12345.1了。
那如何保证精确度呢?例如我插入到数据库中,我输入的值的是12345.123,到数据库里就变为12345.1了
离线searchcai

只看该作者 12楼 发表于: 2013-05-12
你试一下12345.123
离线searchcai

只看该作者 11楼 发表于: 2013-05-12
我的QQ是:287804592
我把我的工程文件给你发一下
离线jdwx

只看该作者 10楼 发表于: 2013-05-12
qDebug和QString::number默认的是小数点后2位。

发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线jdwx

只看该作者 9楼 发表于: 2013-05-12
回 8楼(searchcai) 的帖子
  代码:
    double d = 1234.1234;
    qDebug() << d;
    QString str = QString::number(d,'f',3);
    qDebug() << str;

    d = 0;
    d = str.toDouble();
    qDebug() << d;
    str = QString::number(d,'f',3);
    qDebug() << str;
输出:
1234.12
"1234.123"
1234.12
"1234.123"
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线searchcai

只看该作者 8楼 发表于: 2013-05-12
离线searchcai

只看该作者 7楼 发表于: 2013-05-12
例如我界面上输入12345.123
qDebug() << ui->sell_priceEdt->text() << endl;   //这块输出是12345.123
info.SELL_PRICE = ui->sell_priceEdt->text().toDouble();

这里输出info.SELL_PRICE是12345.1

后来我加了        QString str = QString::number(info.SELL_PRICE, 'f', 3);
        qDebug() << str << endl;
输出就是12345.123
但我现在是要把 info.SELL_PRICE插入到数据库中,插入后,现在也是12345.1

离线searchcai

只看该作者 6楼 发表于: 2013-05-12
我改成用QLineEdit + QDoubleValidator
    QDoubleValidator* doubleValidator = new QDoubleValidator;
    doubleValidator->setRange(0, 1000000,3);
    doubleValidator->setNotation(QDoubleValidator::StandardNotation);

   qDebug() << ui->sell_priceEdt->text() << endl;   //这块输出是正确的
   info.SELL_PRICE = ui->sell_priceEdt->text().toDouble();  //转换后我输出double就不对了,这个值我存到数据库里也不对

  
离线searchcai

只看该作者 5楼 发表于: 2013-05-12
离线jdwx

只看该作者 4楼 发表于: 2013-05-12
回 3楼(searchcai) 的帖子
我的也是Qt5.0.2
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线searchcai

只看该作者 3楼 发表于: 2013-05-12
我用的是qt5.0.2版本
离线jdwx

只看该作者 2楼 发表于: 2013-05-12
再发一张图:
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线jdwx

只看该作者 1楼 发表于: 2013-05-12
回 楼主(searchcai) 的帖子
特意试了一下,没有发现问题,
用信号:doubleSpinBox_valueChanged(const QString &arg1)输出结果。


发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
快速回复
限100 字节
 
上一个 下一个