Format显示为-0.000
发布日期:2021-06-28 22:05:30
浏览次数:3
分类:技术文章
本文共 498 字,大约阅读时间需要 1 分钟。
转载自:
现象
在VC开发中我们常用CString的Format函数来把int,float,double等类型数据转换为字符串类型。在浮点数据的转换中经常为出现“-0.000”这样的字符串,难道Format函数对数据的符号位有什么特殊处理?原因
经过分析发现,并非Format函数有什么特殊,而是浮点数转换精度截断造成的假象,如所示:double dVal = -0.0001;CString strVal;strVal.Format(_T("%.3lf"), dVal); // strVal会显示为“-0.000”
%.3lf表明保留dVal三位小数,-0.0001保留三位小数就变成了-0.000,所以strVal就成了“-0.000”
方案
为了避免出现0还带正负号的情况,就需要在格式化后再做一次处理。double dVal = -0.0001;CString strVal;strVal.Format(_T("%.3lf"), dVal); // strVal会显示为“-0.000”if ( _T("-0.000") == strVal ) strVal = 0.000;
转载地址:https://blog.csdn.net/yfh1985sdq/article/details/80882186 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
第一次来,支持一个
[***.219.124.196]2024年04月16日 11时09分13秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Docker网络模式
2019-04-29
XXL分布式任务调度平台
2019-04-29
Storm工作原理&集群环境搭建
2019-04-29
Storm在Java中的应用
2019-04-29
Rancher2.x--stable版本环境搭建
2019-04-29
Rancher2.X与K8S
2019-04-29
EMQX环境搭建
2019-04-29
Mongodb的语法
2019-04-29
APP消息推送
2019-04-29
APP远程推送-------极光
2019-04-29
创建Docker基础镜像
2019-04-29
JT32960与JT808区别
2019-04-29
商用车生态指南
2019-04-29
Java整合APNS
2019-04-29
Flink简介
2019-04-29
Flink 流数据处理
2019-04-29
Flink集群搭建
2019-04-29
Flink流数据用例----Kafka:source与sink
2019-04-29
Flink的批流统一文档
2019-04-29
Hbase&&Hive
2019-04-29