上一主题下一主题
«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? ] *{QVn(  
任务需求是转化成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 定义的。 &1B)mj  
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位有效数字。 6f v{?0|  
你只能用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* 2zQ62t}  
再用 atof 或者 strtod 转换成double 20Rj Rd  
U`w `Cr  
double精度高于float,如果需要float(当然你也可以把他赋给float变量,会进行隐式转换) kl/eJN'S  
M,V~oc5  
/************************************************************ )CAEqP  
C语言库函数名: atof YB&b_On,f  
功 能: 把字符串转换成浮点数. gZ b +m  
名字来源:array to floating point numbers 的缩写. M}c gVMW  
原型: double atof(const char *nptr); YA,vT[kX  
函数说明: atof()会扫描参数nptr字符串,跳过前面的空格字符,直到 7F !(60xY  
遇上数字或正负符号才****始****转换,而再遇到非数字或字符串结束 k.MAX8  
时('\0')才结束转换,并将结果返回。参数nptr字符串可包含正负号、 M`jqU g  
小数点或E(e)来表示指数部分,如123.456或123e-2。 _${//`ia=  
附加说明 atof()与使用strtod(nptr,(char**)NULL);结果相同。 zVL"$ )  
头文件: #include <stdlib.h> H,I k&{@j  
*************************************************************/ 1B#Z<p  
W:z?w2{VI(  
/******************************************************************************************* wE*jN~  
strtod 6%nKrK  
函数及其参数 A3jT;D9Y %  
  double strtod(const char *nptr,char **endptr); //注意没有后面的base,转换成浮点不支持。 4PsJs<u  
函数的解释说明 s2'] "wM  
  strtod()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才****始****转换, T+9#&  
    到出现非数字或字符串结束时('\0')才结束转换,并将结果返回。若endptr不为NULL, ?~g X7{>  
则会将遇到不合条件而终止的nptr中的字符指针由endptr传回。参数nptr字符串可包含 `_*NFv1_  
正负号、小数点或E(e)来表示指数部分。如123.456或123e-2。 vI)-Zz[3  
********************************************************************************************/ =5PNH2  
M:*^k  
5*he  
如果标准库的这两个函数不能满足楼主要求,楼主也可以自己写一个,很容易的
级别: 北风资深工程师

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