double转换为QString,保留小数点后位数

double转换为QString,保留小数点后位数)

直接使用QString::number()的函数容易被四舍五入掉
则可以使用

double d =0.0;
QString str=QString::number(d,'f', 6));//6代表保留小数点后六位
QString str=QString::number(d,'f', 7));//代表保留小数点后7位

上面就是最简单的用法,但是存在一种需求,没有到6位则保留自身的位数,到了6位数,则保留六位,我们可以采取这样的方式

//取最大6位,如果位数低,则删除对应位数
#include <QDebug>
#include <QString>
double d1 = 0.04;
double d2 = 0.046777777;
QString strd1 = QString::number(d1,'f',6);
//输出为0.040000
qDebug()<< strd2;
while((strd1.at(strd1.size()-1) == "0" || strd1.at(strd1.size()-1) == ".") && strd1.contains(".") && strd1.size() >= 1)
{
    strd1 = strd1.left(strd1.size() -1);
}
//输出为 0.04
qDebug()<< strd1;

QString strd2 = QString::number(d2,'f',6);
//输出为 0.046778(会四舍五入)
qDebug()<< strd2;
while((strd2.at(strd2.size()-1) == "0" || strd2.at(strd2.size()-1) == ".")  && strd2.contains(".") && strd2.size() >= 1)
{
    strd2 = strd2.left(strd2.size() -1);
}
//输出为 0.046778(会四舍五入)
qDebug()<< strd2;

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夏有凉风,冬有雪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值