MFC double类型数据转换后数据发生变化怎么做?

使用atof转换atof(str),str数据是6040.0000139,转换为double完成后就变为6040.0000139000003,数据精度变了。但是我只需要数... 使用atof转换atof(str),str数据是6040.0000139,转换为double完成后就变为6040.0000139000003,数据精度变了。但是我只需要数据小数点后的后7位数就够了。这种情况怎么改? 展开
 我来答
歪瑞顾K
2013-12-27 · TA获得超过2905个赞
知道大有可为答主
回答量:2731
采纳率:33%
帮助的人:2179万
展开全部
1、double再转回 float呀。

2、先把str那里就截取好小数点后面7位,得到str2,再转float。

3、如果你是要后7位小数的字符串形式,用格式控制符 format("%10.7lf",6040.000013900000)

小数点后面就只保留7位了。
更多追问追答
追问
str时位数是对的啊,小数点后面就只有7位数。转换为double后就变了。我需要的只是6040.0000139这个数,之和需要分为60和40.0000139这俩数。
追答
你到底是需要字符串的形式还是数字形式。如果是字符串形式,就先转成字符串,然后以小数点位置为标志进行分割。
TableDI
2024-07-18 广告
在上海悉息信息科技有限公司,我们深知Excel在数据处理中的重要作用。在Excel中引用不同工作表(sheet)的数据是常见的操作,这有助于整合和分析跨多个工作表的信息。通过在工作表名称前加上感叹号“!”,您可以轻松地引用其他工作表中的数据... 点击进入详情页
本回答由TableDI提供
wkr2005
2013-12-30 · TA获得超过279个赞
知道小有建树答主
回答量:434
采纳率:0%
帮助的人:302万
展开全部
似乎没办法限定,如果只是显示的话,可以直接显示字符串的format格式;
否则的话就算你强制将double后面小数点设定为7位了,内存中计算时还是按double类型的标准精度进行的,这应该就是浮点的真实含义吧;

浮点就是不确定的意思;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式