上一主题下一主题
«1234»Pages: 1/4     Go
关键字
主题 : 怎么将std::string转化成高精度float?
级别: 北风技术菜鸟

UID: 470406
精华: 0
发帖: 303
威望: 1471 点
学点: 738 点
贡献: 0 点
好评: 0 点
学币: 0 个
注册时间: 2014-06-27
最后登录: 2015-04-06
楼主  发表于: 2015-04-06 18:18||

怎么将std::string转化成高精度float?

C++如何将std::string转化成高精度float? bC"#.e  
任务需求是转化成11~12位的float
此帖悬赏中(剩余时间:已结束)...
最佳答案: 2 学点
热心助人剩余点数: 1 学点
级别: 北风资深工程师

UID: 472685
精华: 0
发帖: 1930
威望: 1946 点
学点: 3280 点
贡献: 0 点
好评: 0 点
学币: 0 个
注册时间: 2014-07-10
最后登录: 2015-04-08
沙发(1楼)  发表于: 2015-04-06 18:19||

float 的进度你是控制不了的,这个是 ieee 定义的。 Vd&&GI(:?^  
string to float 可以用 stof
级别: 北风资深工程师

UID: 472681
精华: 0
发帖: 1791
威望: 1815 点
学点: 2095 点
贡献: 0 点
好评: 0 点
学币: 0 个
注册时间: 2014-07-10
最后登录: 2015-04-07
板凳(2楼)  发表于: 2015-04-06 18:19||

float的精度一般只有7位有效数字。 _ nz ^+  
你只能用double。
级别: 北风资深评论员


UID: 470398
精华: 0
发帖: 3024
威望: 3862 点
学点: 8642 点
贡献: 90 点
好评: 0 点
学币: 112 个
注册时间: 2014-06-27
最后登录: 2015-04-07
地板(3楼)  发表于: 2015-04-06 18:19||

先把std::string转成const char* q=c/B(II!  
再用 atof 或者 strtod 转换成double *K!++k!Ixa  
B!,yfTk]  
double精度高于float,如果需要float(当然你也可以把他赋给float变量,会进行隐式转换) <)#kq1b?  
$C_M&O}  
/************************************************************ rg& +  
C语言库函数名: atof 3B9nP._  
功 能: 把字符串转换成浮点数. 2_pz3<,\  
名字来源:array to floating point numbers 的缩写. ZlR!s!vv  
原型: double atof(const char *nptr); D1"7s,Hmu  
函数说明: atof()会扫描参数nptr字符串,跳过前面的空格字符,直到 "EPD2,%S  
遇上数字或正负符号才****始****转换,而再遇到非数字或字符串结束 y4F^|kS) [  
时('\0')才结束转换,并将结果返回。参数nptr字符串可包含正负号、 TbNGgjT  
小数点或E(e)来表示指数部分,如123.456或123e-2。 $Ub}p[L  
附加说明 atof()与使用strtod(nptr,(char**)NULL);结果相同。 sbla`6Fb  
头文件: #include <stdlib.h> *8\(FVyG^  
*************************************************************/ 7:o+iP46  
FMS2.E  
/******************************************************************************************* h~ha  
strtod ?)cJZ>$!w  
函数及其参数 JuJ5qIal  
  double strtod(const char *nptr,char **endptr); //注意没有后面的base,转换成浮点不支持。  U42\.V0  
函数的解释说明 O,9X8$5H-a  
  strtod()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才****始****转换, C4_t_N  
    到出现非数字或字符串结束时('\0')才结束转换,并将结果返回。若endptr不为NULL, s^PmnFR  
则会将遇到不合条件而终止的nptr中的字符指针由endptr传回。参数nptr字符串可包含 (46U|P(v  
正负号、小数点或E(e)来表示指数部分。如123.456或123e-2。 +{ab1))/  
********************************************************************************************/ VRhRwdC  
Wf1-"Q  
)/TVJAJ  
如果标准库的这两个函数不能满足楼主要求,楼主也可以自己写一个,很容易的
级别: 北风资深工程师

UID: 472685
精华: 0
发帖: 1930
威望: 1946 点
学点: 3280 点
贡献: 0 点
好评: 0 点
学币: 0 个
注册时间: 2014-07-10
最后登录: 2015-04-08
地下室(4楼)  发表于: 2015-04-06 18:20||

级别: 北风爱好者

UID: 566867
精华: 0
发帖: 5
威望: 5 点
学点: 0 点
贡献: 0 点
好评: 0 点
学币: 0 个
注册时间: 2015-04-09
最后登录: 2015-04-09
下水道(5楼)  发表于: 2015-04-09 22:45||

回 2楼(大象的哥哥) 的帖子

顶你顶你顶你顶你顶你
级别: 北风爱好者

UID: 566867
精华: 0
发帖: 5
威望: 5 点
学点: 0 点
贡献: 0 点
好评: 0 点
学币: 0 个
注册时间: 2015-04-09
最后登录: 2015-04-09
6楼  发表于: 2015-04-09 22:46||

顶你顶你顶你顶你顶你顶你顶你
级别: 北风爱好者

UID: 566867
精华: 0
发帖: 5
威望: 5 点
学点: 0 点
贡献: 0 点
好评: 0 点
学币: 0 个
注册时间: 2015-04-09
最后登录: 2015-04-09
7楼  发表于: 2015-04-09 22:47||

回 楼主(victorlee) 的帖子

顶你顶你顶你顶你
级别: 北风高级技术员

UID: 625983
精华: 0
发帖: 167
威望: 183 点
学点: 178 点
贡献: 0 点
好评: 0 点
学币: 0 个
注册时间: 2016-02-17
最后登录: 2016-06-13
8楼  发表于: 2016-05-28 03:55||

Peaceful Spring Festival

本部分内容设定了隐藏,需要回复后才能看到
上一主题下一主题
«1234»Pages: 1/4     Go