Qt double转换成Qstring

 

指定小数位数

double value = 1.2345
QString str = QString::number(value, 'f', 2);
#include "widget.h"
#include "ui_widget.h"

Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);
    ui->spinBox_Deg->setRange(0,180);
    ui->spinBox_Min->setRange(0,59);
    ui->SpinBox_Sec->setRange(0.00,59.99);
}

Widget::~Widget()
{
    delete ui;
}

void Widget::on_pushButton_clicked()
{
    // 获取当前选择的文本
    QString str = ui->comboBox_EorW->currentText();
    QString deg = ui->spinBox_Deg->text();
    QString min = ui->spinBox_Min->text();
    QString sec = ui->SpinBox_Sec->text();
    // 在文本编辑区显示出来
    // ui->textBrowser->setText(str+"经"+deg+"度"+min+"分"+sec+"秒");
    ui->textBrowser->insertPlainText(str+""+deg+""+min+""+sec+""+"\t");

    double value = this->function(deg.toInt(),min.toInt(),sec.toDouble());
    // 保留六位小数,在textbrowser中打印数据
    ui->textBrowser->insertPlainText(QString::number(value,'f',6));

    // 文本输出结束后自动换行
    ui->textBrowser->moveCursor(QTextCursor::End);
    ui->textBrowser->append(QString(""));

}
// 当文本内容改变时,执行相应动作
void Widget::on_textBrowser_textChanged()
{

}

// 将经纬度的度分秒转换为小数
double Widget::function(int deg,int min,double sec)
{
    return (deg+min/60+sec/3600);
}

 

posted on 2021-07-28 17:41  anyejin  阅读(2702)  评论(0编辑  收藏  举报