VC 中为什么没有ttof vc2005 我看了一下CSDN好像没有ttof或者wtof之类的转化函数,unicode工程中怎么将CString类型转化为float类型?难道要自己写? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 因为宽字符串转换成float或double是问题多多,比较麻烦。《windows程序设计》有讲到。sprintf也是同样的问题。你可以加编译条件,如果是UNICODE,就把宽字串转成ASCII字串,再atof 那自己写这个转化函数可以吗long double atold(char *str){ __int64 r = 0; size_t l = strlen(str); int flag = 0, count = 1; for (size_t i = 0; i < l; i++) { if (str[i] == '.') { flag = 1; continue; } if (flag == 1) count *= 10; r = r * 10 + (str[i] - '0'); } return (long double)r / count;} 这个函数可以吗,把其中的char*换成TCHAR* 用_wtof()应该可以吧 有关DC的两个问题 VC6.0和VS2005中FindFirstFile()的问题 如何用一个对话框替代多个对话框 怎么打包发布我做好的地个exe文件啊? 太傻 -- 一个关于图形学与游戏的网站 从 Win2000(or XP) 编写的程序移植到 Win98. (指定类无法注册) 怎么设计这个算法? 如何在VC中用ADO连接*.dbf的表 为什么不直接用窗口过程函数,而用DispatchMessage() 怎么让ctabctrl 标题居中~~~ MFC pictures控件怎样在pictures控件里text文字 桌面应用程序与google map api 的问题
你可以加编译条件,如果是UNICODE,就把宽字串转成ASCII字串,再atof
{
__int64 r = 0;
size_t l = strlen(str);
int flag = 0, count = 1; for (size_t i = 0; i < l; i++) {
if (str[i] == '.') {
flag = 1;
continue;
}
if (flag == 1)
count *= 10;
r = r * 10 + (str[i] - '0');
}
return (long double)r / count;
}
这个函数可以吗,把其中的char*换成TCHAR*