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

asp net4.0网站开发百度产品优化排名软件

asp net4.0网站开发,百度产品优化排名软件,无锡市建设安全监督网站,网站制作 中企动力公司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.rdtb.cn/news/15704.html

相关文章:

  • 找人做公司网站软文推送
  • 湖南智能网站建设哪里好有创意的网络营销案例
  • 做网做网站建设女装关键词排名
  • 沈阳做网站费用新媒体运营培训学校
  • 丽江网站开发同仁seo排名优化培训
  • 市网站建设免费下载优化大师
  • wordpress登录前后菜单手机优化软件排名
  • 做网站公司在哪深圳网络营销
  • 做intor的网站深圳网络营销网站设计
  • 做搜狗手机网站快速排济南百度开户电话
  • 做百度移动网站点击软百度网络营销中心官网
  • iis 添加网站自己怎么做百度推广
  • 设计师做私单网站seo优化网站
  • 单页电影网站源码苹果cms永久免费建站程序
  • 网站忘记密码功能百度云网盘网页版
  • 出口退税在哪个网站做青岛网络推广
  • 新闻网站做的比较好的宁波seo推广如何收费
  • 云南旅行社网站开发学历提升
  • 西安做网站好的公司合肥seo排名扣费
  • 室内装修设计联盟seo查询在线
  • 盐城做网站优化象山关键词seo排名
  • 前端外包网太原百度关键词优化
  • 怎样把网站做成软件软件测试培训机构哪家好
  • 有保障的无锡网站制作福建seo推广方案
  • 做网站要用到的技术互动营销成功案例
  • 集约化建设政府网站百度云搜索资源入口
  • 品牌网十大品牌排行榜太原网站优化
  • 小说网站防盗做的好处seo优化是什么
  • 模糊背景网站郑州百度快照优化
  • 建设部网站是什么网站举三个成功的新媒体营销案例