猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
如何在C ++中将字符串转换为double?
如何在C ++中将字符串转换为double?我想要一个在字符串不是数字时返回0的函数。
catspeake
浏览 917
回答 3
3回答
慕工程0101907
最简单的方法是使用boost :: lexical_cast:double value;try{ value = boost::lexical_cast<double>(my_string);}catch (boost::bad_lexical_cast const&){ value = 0;}
0
0
0
互换的青春
atof和strtod可以做您想要的,但是非常宽容。如果您不想接受像“ 32asd”这样的字符串作为有效字符串,则需要将strtod包装在这样的函数中:#include <stdlib.h>double strict_str2double(char* str){ char* endptr; double value = strtod(str, &endptr); if (*endptr) return 0; return value;}
0
0
0
打开App,查看更多内容
随时随地看视频
慕课网APP
相关分类
C++
typedef入门问题
1 回答
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续