• 4906阅读
  • 6回复

QString如何显示0.0这个浮点数? [复制链接]

上一主题 下一主题
离线skykingf
 

只看楼主 倒序阅读 楼主  发表于: 2013-12-20
如题,想把0.0这个浮点数放到QString显示出来。
用setNum显示Float的那个api只能显示出0,不带小数点。
请问如何能显示出带小数点的0.0?

只看该作者 1楼 发表于: 2013-12-20
double d_size_1 = 1.256;
QString q_size_1 = QString::number(d_size_1, 'f', 2);    
结果:1.26

double d_size_2 = 1.254;
QString q_size_2 = QString::number(d_size_2, 'f', 2);    
结果:1.25

double d_size_3 = 1.255;
QString q_size_3 = QString::number(d_size_3, 'f', 2);    
结果:1.25

如上,是将double类型进行四舍五入之后,保留小数点后两位。那么1.255为什么最后会变成1.25,而不是1.26呢?因为double类型的1.255其实是1.254999999.....

所以你的程序可以写成这样:
double d_size_4 = 0.0;
QString q_size_4 = QString::number(d_size_4, 'f', 1);    
结果:0.0
博客地址:https://waleon.blog.csdn.net
微信公众号:高效程序员
QQ 群:242790253
微信群:加微信(iwaleon),邀请入群。

承接各种 C++/Qt/QML 项目,专业的团队,一流的服务,不二的选择!
离线realfan

只看该作者 2楼 发表于: 2013-12-20
除了楼上的方法,QString还提供了sprintf方法,与C的sprintf方法用法一样。
离线skykingf

只看该作者 3楼 发表于: 2013-12-20
回 1楼(奋斗ing孩子) 的帖子
多谢 我试试
离线skykingf

只看该作者 4楼 发表于: 2013-12-20
回 2楼(realfan) 的帖子
哎呦 我怎么没想到呢
离线skykingf

只看该作者 5楼 发表于: 2013-12-21
回 1楼(奋斗ing孩子) 的帖子
亲测好用

只看该作者 6楼 发表于: 2013-12-23
回 5楼(skykingf) 的帖子
必须滴,要么就不回答,回答必须得管用,嘎嘎。。。
博客地址:https://waleon.blog.csdn.net
微信公众号:高效程序员
QQ 群:242790253
微信群:加微信(iwaleon),邀请入群。

承接各种 C++/Qt/QML 项目,专业的团队,一流的服务,不二的选择!
快速回复
限100 字节
 
上一个 下一个