因为计算机是2进制的,而我们一般使用10进制 所谓的小数,十进制的0.1代表把1分为10份,取其1份 二进制的小数,代表把1分为2份,取其1份 所以绝大多数10进制的小数无法准确转换为二进制小数,必然有误差
[quote=引用 5 楼 Timon---老赵的回复:][quote=引用 4 楼 真相重于对错 的回复:] double dw1, dw2; CString s = "11,22"; sscanf(s.GetBuffer(), "%lf,%lf", &dw1, &dw2);
double dw1, dw2; CString s = "11,22"; sscanf(s.GetBuffer(), "%lf,%lf", &dw1, &dw2);
[quote=引用 4 楼 真相重于对错 的回复:] double dw1, dw2; CString s = "11,22"; sscanf(s.GetBuffer(), "%lf,%lf", &dw1, &dw2);
分两步。 1.分割字符串。 你这里是按逗号分割。 2.字符串转double atof 之类的
64,686
社区成员
250,505
社区内容
加载中
试试用AI创作助手写篇文章吧