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); }