随笔 - 18  文章 - 0  评论 - 0  阅读 - 29994

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   anyejin  阅读(2732)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示