Format显示为-0.000
发布日期:2021-06-28 22:05:30
浏览次数:2
分类:技术文章
本文共 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 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
逛到本站,mark一下
[***.202.152.39]2024年04月10日 14时47分07秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
开源任务管理工具wekan
2019-04-29
EasyOrtho卫星影像处理软件
2019-04-29
TerraMaster RAID Manager
2019-04-29
vmware vcenter converter(物理机转换虚拟机)
2019-04-29
解决Surface 网卡不识别
2019-04-29
回收站东西太多删不掉
2019-04-29
超融合与云计算的区别是什么?
2019-04-29
SuperSocket
2019-04-29
phpstudy 切换版本后apache启动不了
2019-04-29
阿里云服务器系统盘扩容操作
2019-04-29
在windows下使用docker发布web项目
2019-04-29
Vue基础代码学习
2019-04-29
vue的模板的父子组件使用,并且实现数据传递
2019-04-29
vue父访问子组件中的数据方法,使用$refs
2019-04-29
vue中子组件访问父组件中的数据方法,使用$parent或者$root
2019-04-29
vue中的插槽使用slot
2019-04-29
前端模块化工具webpack
2019-04-29
安装vue脚手架不成功的解决方法
2019-04-29
使用visual studio 2019 开发vue项目
2019-04-29
ES6的箭头函数使用
2019-04-29