当前位置: 首页 > news >正文

温州网站建设外包仿站建站教程

温州网站建设外包,仿站建站教程,做婚恋交友类网站,黄山市旅游攻略QString设置小数点精度位数 Chapter1 QString设置小数点精度位数Chapter2 Qt中QString.toDouble有效位数6位问题以及数据小数点有效位数的处理问题一:QString.toDouble有效位只有6位问题二:小数点有效位数的问题 Chapter3 qt QString转Double只显示6位数字的问题(精…

QString设置小数点精度位数

  • Chapter1 QString设置小数点精度位数
  • Chapter2 Qt中QString.toDouble有效位数6位问题以及数据小数点有效位数的处理
    • 问题一:QString.toDouble有效位只有6位
    • 问题二:小数点有效位数的问题
  • Chapter3 qt QString转Double只显示6位数字的问题(精度丢失)


QString 转double,double转QString 中的小数点问题

Chapter1 QString设置小数点精度位数

原文链接:https://blog.csdn.net/xxzhaoming/article/details/130364751

在Qt中,我们可以使用QString::number()函数将float类型转换为QString类型以便在界面上显示。该函数默认显示6位小数,但我们也可以通过设置第二个参数来控制小数点位数。

以下是示例代码,将float类型的变量num转换为QString类型,保留2位小数:

float num = 3.1415926;
QString str = QString::number(num, 'f', 2);

在上面的代码中,参数’f’表示将数值格式化为浮点数,2表示保留2位小数。

Chapter2 Qt中QString.toDouble有效位数6位问题以及数据小数点有效位数的处理

原文链接:https://blog.csdn.net/nichimgp/article/details/129301059

问题一:QString.toDouble有效位只有6位

  QString sVal="1234.5678";double dVal=sVal.toDouble();qDebug()<<"字符串转 double:"<<<<dVal<<endl; //输出结果:1234.57 此处Qt打印输出只会保留6位数字qDebug()<<"字符串转 double:"<<qSetRealNumberPrecision(10)<<dVal<<endl;//输出结果为1234.5678//但假如让dVal写入数据库(QSqlite),写入的值仍是1234.57,有说法是因为对数据库来说,所有的数据都是打印的字符文本,所以会按照默认打印结果保存。
//有开发需求,尤其是精度需求,保险还是用String来保存。反正从数据库中拿到的任何数据都可以直接toString()/toDouble()

问题二:小数点有效位数的问题

Qt的浮点数计算,四舍五入保留都比较麻烦。尤其是int 1234567想转为double 123.4567。因为Qt又默认只保存前6位,所以数据就是123.457。所以对精度要求高的话,就不要直接1234567/10000.用除法。可以用字符串拼接的方法:

  //需求:保留4位小数//Index是要除以10000转double的值quint32 Integer=Index/10000;quint32 decimal=Index%10000;QString sVal=QString("%1.%2").arg(Integer).arg(decimal);//此处会有新问题,假如index%1000=567,那么数据就是123.567 此处真实值应该是123.0567)//下面可以解决:QString sVal=QString("%1.%2").arg(Integer).arg(decimal,4, 10, QLatin1Char('0'));//前位补0//4-小数点有效位数 10-进制 前位补0

Chapter3 qt QString转Double只显示6位数字的问题(精度丢失)

QString使用toDoouble转化double类型,其实精度没有丢失,只是我们使用qDebug打印时出了问题。qDebug它对于double类型只显示6位数字。
如果想要打印所以数字,方法如下:

QString val = 123.456789;
qDebug()<<qSetRealNumberPrecision(10)<<val.toDouble();

且double转QString精度丢失解决方法:

double num = 123.0456789;
QString val = QString::number(num,'f',8);

在这里插入图片描述

http://www.15wanjia.com/news/162647.html

相关文章:

  • 企业网站建立之前必须首先确定四川可以做宣传的网站
  • 哪个网站系统做的好济南做网站多少钱
  • 做微信公众号整合网站wordpress 帮助文档
  • 楼房平台设计seo在线教学
  • 站长工具高清吗平面设计的网站
  • 网站内容建设方案微信seo
  • 网站优化的价值流量很大的网站
  • 创业服务网站建设方案项目书跨境电商流程
  • 专门做旅行用品的网站百度收录提交申请
  • 建设企业网站需要什么网站站点结构的构建
  • 用cms织梦做网站图文教程百度竞价托管一月多少钱
  • python 营销型网站建设炫酷网站建设
  • 雍鑫建设集团网站洛阳西工区做网站哪家好
  • 环境艺术设计网站推荐网站后台怎么上传表格
  • 中国联通网站备案及ip地址备案管理要求辽宁建设安装集团有限公司网站
  • 自动生成logo的网站怎么免费装wordpress
  • 付运费送东西的网站怎么做wordpress格行代码6
  • 亚马逊网站首页泰安网络运营
  • 全国信用网站一体化建设做app网站的软件有哪些内容
  • 海外英文建站道县网站建设
  • 成都企业网站模板建设洪梅仿做网站
  • 河南濮阳建设局网站网站开发流程图 最
  • 扬州网站推广公司wordpress引用js代码
  • php网站开发自学深圳企业网站建设制作网络公司
  • 静态网站建设课程设计网站制作公司去哪找
  • 网站分享的功能怎么做的南京科技网站设计多少钱
  • 用jsp做的网站在不同浏览器显示效果差异很大如何解决wordpress有哪些工具栏
  • 商务网站创建多少钱什么是网络营销环境的外部因素
  • 百度指数官网移动版seo思维
  • 做的网站怎么放视频电子商务网站中最基本的系统是