上一主题下一主题
«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? 7cO1(yE#vr  
任务需求是转化成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 定义的。 bqxbOQd  
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位有效数字。 uf]S PG#/D  
你只能用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* r9 5hW  
再用 atof 或者 strtod 转换成double ABIQi[A  
HKXtS>7d  
double精度高于float,如果需要float(当然你也可以把他赋给float变量,会进行隐式转换) `Q1;Y  
:OKU@l|  
/************************************************************ SB) Hz8<  
C语言库函数名: atof -)pVgf  
功 能: 把字符串转换成浮点数. uQmtd  
名字来源:array to floating point numbers 的缩写. S=zW wo$  
原型: double atof(const char *nptr); RD_l  
函数说明: atof()会扫描参数nptr字符串,跳过前面的空格字符,直到 )e?6 Ncy  
遇上数字或正负符号才****始****转换,而再遇到非数字或字符串结束 _8{6&AmIw  
时('\0')才结束转换,并将结果返回。参数nptr字符串可包含正负号、 B*;PF  
小数点或E(e)来表示指数部分,如123.456或123e-2。 |h  3`z  
附加说明 atof()与使用strtod(nptr,(char**)NULL);结果相同。 IKFNu9*"h  
头文件: #include <stdlib.h> 8b|m66#|  
*************************************************************/ 1,Uf-i  
knABlU  
/******************************************************************************************* W5U;{5  
strtod d-ML[^G  
函数及其参数 =rzhaU'A'  
  double strtod(const char *nptr,char **endptr); //注意没有后面的base,转换成浮点不支持。 A4IPd  
函数的解释说明 q+1SU6x'm  
  strtod()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才****始****转换, |Qz"Z<sNYw  
    到出现非数字或字符串结束时('\0')才结束转换,并将结果返回。若endptr不为NULL, #+SdX[ N  
则会将遇到不合条件而终止的nptr中的字符指针由endptr传回。参数nptr字符串可包含 7 : .bqRu  
正负号、小数点或E(e)来表示指数部分。如123.456或123e-2。 Uv|^k8(  
********************************************************************************************/ Lv<)Dur0K  
@D2KDV3'  
<,+6:N mT  
如果标准库的这两个函数不能满足楼主要求,楼主也可以自己写一个,很容易的
级别: 北风资深工程师

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