上一主题下一主题
«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? _^] :tL6  
任务需求是转化成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 定义的。 J (%J g  
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位有效数字。 pkW }\r  
你只能用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* " IkF/  
再用 atof 或者 strtod 转换成double bL],KW;Q  
w+q;dc8  
double精度高于float,如果需要float(当然你也可以把他赋给float变量,会进行隐式转换) W$Q)aA7  
D4O5@KfL  
/************************************************************ _7.GzQJ  
C语言库函数名: atof ,x"yZ  
功 能: 把字符串转换成浮点数. dwbY"t[9  
名字来源:array to floating point numbers 的缩写. (<R\  
原型: double atof(const char *nptr); P,;b'-5C  
函数说明: atof()会扫描参数nptr字符串,跳过前面的空格字符,直到 Jv^cOc  
遇上数字或正负符号才****始****转换,而再遇到非数字或字符串结束 1;kG [z=A  
时('\0')才结束转换,并将结果返回。参数nptr字符串可包含正负号、 l&??2VO/t  
小数点或E(e)来表示指数部分,如123.456或123e-2。 4IP\iw#w  
附加说明 atof()与使用strtod(nptr,(char**)NULL);结果相同。 $K.%un Gm  
头文件: #include <stdlib.h> 5 (21gW9  
*************************************************************/ eIUuq&(  
Z: lB:U'o  
/******************************************************************************************* +.(}u ,:8  
strtod 7hF,gl5  
函数及其参数 3pTS@  
  double strtod(const char *nptr,char **endptr); //注意没有后面的base,转换成浮点不支持。 .W@4vrp@  
函数的解释说明 ,KhMzE8_a  
  strtod()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才****始****转换, Q_]!an(  
    到出现非数字或字符串结束时('\0')才结束转换,并将结果返回。若endptr不为NULL, E/8u'  
则会将遇到不合条件而终止的nptr中的字符指针由endptr传回。参数nptr字符串可包含 w {e3U7;  
正负号、小数点或E(e)来表示指数部分。如123.456或123e-2。 Ld}(*-1i  
********************************************************************************************/ o(d_uJOB  
> 0Twr  
7Z`Mt9:Ht  
如果标准库的这两个函数不能满足楼主要求,楼主也可以自己写一个,很容易的
级别: 北风资深工程师

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