带小数点的字符串转换成double型时 小数点后边的值丢失,请各位师兄师姐指点啊!

zhang4168855 2012-11-24 08:17:48
带小数点的字符串转换成double型时 小数点后边的值丢失,我将字符串转换成double型数据,转换函数用的是atoi,转换后在付给EDit控件,EDit控件是double型,在update(False)后,小数点后的数据全部丢失。请各位师兄师姐指点啊!
...全文
425 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
wqvbjhc 2012-11-24
  • 打赏
  • 举报
回复
atoi是字符串转换为整数。atof才是字符串转换为小数。 所以小数使用atoi转换为整数永远只得到其整数部分。
I_ask_who 2012-11-24
  • 打赏
  • 举报
回复
小数点默认6位,不过可以改,atof也可以,比较原始

#include <iostream>
#include <sstream>
#include <iomanip>
using namespace std;
int main(int, char **, char **)
{
	stringstream ss("1234.45667789112");
	double db;
	
	ss>>setprecision(16)>>db;
	cout<<setprecision(16)<<db<<endl;
	return 0;
}

1,649

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 非技术类
社区管理员
  • 非技术类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧