Chinaunix

标题: 字符串转换成float型失败,为什么? [打印本页]

作者: fyimail    时间: 2008-06-03 09:34
标题: 字符串转换成float型失败,为什么?
大家好!
在windows平台下C++编写的一个小程序,将一个界面编辑框的内容转换成float型出错,不知道为什么?
water_new = atof(this->water_new->Text);  出错语句

error message:
Error        1        error C2664: 'atof' : cannot convert parameter 1 from 'System::String ^' to 'const char *'        e:\app\countsystem\countsystem\Form1.h        375
作者: lenovo    时间: 2008-06-03 09:40
错误信息说得很清楚。
作者: fyimail    时间: 2008-06-03 09:47
可否给我说的明了一些,谢谢!
作者: fyimail    时间: 2008-06-03 09:53
能否明确给我说一下,如何将控件中的字符串转换成float?
作者: net_robber    时间: 2008-06-03 09:58
char*和string不一样
作者: fyimail    时间: 2008-06-03 10:21
那我这种情况下应该怎么做呢,从控件中取出来的是字符串,怎么样才能变成float呢?
作者: cobras    时间: 2008-06-03 10:26
换成下面的试试:

  1. water_new = atof(*this->water_new->Text);  
复制代码

作者: fyimail    时间: 2008-06-03 10:33
刚才我试了一下,  water_new = atof(*this->water_new->Text); 还是不可以。
Error        1        error C2664: 'atof' : cannot convert parameter 1 from 'System::String' to 'const char *'        e:\app\countsystem\countsystem\Form1.h        370
作者: cobras    时间: 2008-06-03 10:36
看样子String类不包括const char *重载运算符
用MFC的CString试试
作者: fyimail    时间: 2008-06-03 10:41
我的编译器不认识CString
作者: cobras    时间: 2008-06-03 10:42
那就在String中加入重载运算符const char *
作者: fyimail    时间: 2008-06-03 14:13
谢谢大家。 我用float.parse()解决了这个问题。
作者: net_robber    时间: 2008-06-03 14:24
string 有个 c_str 方法
作者: fyimail    时间: 2008-06-03 14:30
c_str方法的具体功能是什么?
作者: net_robber    时间: 2008-06-03 14:33
问我么??




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2