如果要将string转换为double可以用atof函数
double a=atof(textboxtextc_str());
而将double转换为string可以类似于下面的做法:
float temp=19168;
char a=new char[30];
sprintf(a,"%f",temp);题主的意思是把包含数值和非数值里的数值提取出来。
先把字符串分隔开来(如空格等特定字符),再判断每个子字符串是否为数值。
或者先把字符里非0-9 + - 的字符替换为空格,再调用Split(new char[] { ' ' }, StringSplitOptionsRemoveEmptyEntries);获得子字符串。最后用下面的方法判断是否为数值
给你个正则表达式的方法
public static bool isNumber(string str) {
SystemTextRegularExpressionsRegex rex = new SystemTextRegularExpressionsRegex(@"^[+-]\d[]\d$");
return (rexIsMatch(str)) ;
}atof参数要求是const
char
函数名:
atof
功
能:
把字符串转换成浮点数
用
法:
double
atof(const
char
nptr);
这里要把string对象转换为char
,使用string类的c_str方法
a=atof(Ac_str());使用double
的包装类Double
DoublevalueOf(Str);
String s = "1234";
double d = DoublevalueOf(s);转换过后其实是返回Double类型的对象,不过16以上可以自动拆箱,所以可以使用double来接收。
另外,如果传入的String无法转化的话,会抛出NumberFormatException。这个时候就要检查你传入的字符串是不是能代表一个double类型的数字了。比如检查是否有多个小数点、是否带非数字的字符等。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)