double qt 去掉小数点后_Qt 控制小数精度并去掉末尾的0

这篇博客介绍了在Qt中如何使用QString的number函数和arg方法进行数值格式化,特别是针对小数点后零的处理。通过设置精度和正则表达式,可以有效地去除不需要的零,例如将12.43456000变为12.43,13.1000变为13.1,14.0100变为14.01,15.0000变为15。同时指出了如果被替换的字符串不包含小数点,可能会导致意外的结果,如100变为1。
摘要由CSDN通过智能技术生成

1. 使用number函数

QString::number(num, 'f', 2)

2. 使用arg

double aa = 12.43456000;

double bb = 13.1000;

double cc = 14.0100;

double dd = 15.0000;

QRegExp reg;

reg.setPattern("(\\.){0,1}0+$");

QString aas = QString("%1").arg(aa, 0, 'f', 2).replace(reg, "");

QString bbs = QString("%1").arg(bb, 0, 'f', 2).replace(reg, "");

QString ccs = QString("%1").arg(cc, 0, 'f', 2).replace(reg, "");

QString dds = QString("%1").arg(dd, 0, 'f', 2).replace(reg, "");

qDebug()<

qDebug()<

qDebug()<

qDebug()<

qDebug()<

aa: "12.43"

bb: "13.1"

cc: "14.01"

dd: "15"

ee: "1"

被replace的字符串必须包含小数点,否则如100会被变成1,因为是将匹配到的部分去掉(匹配".0"或结尾的0);这里只支持所取精度位数大于0的情况;

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值