www.sllg.net > 将一个浮点数转化成字符串的程序

将一个浮点数转化成字符串的程序

#include#includedouble sTof(char *s){ double s1,s2; int i=0; s1 = 0; while(s[i]!='.'&&s[i] != 0){ s1 = s1*10 +s[i] - '0'; i +=1; } if(s[i] == 0) return s1; i += 1; double k = 0.1; s2 = 0; while(s[i] != 0){ s2 = s2 + k*(s[i] - '...

float f = 3.33f; String sa = String.valueOf(f); System.out.println(sa);

char * float2str(float val, int precision, char *buf) { char *cur, *end; sprintf(buf, "%.6f", val); if (precision < 6) { cur = buf + strlen(buf) - 1; end = cur - 6 + precision; while ((cur > end) && (*cur == '0')) { *cur = '\0'...

用sprintf() 就可以了: 例如,float,double 到 char #include #include void main() { float f= 1234.5; double d= 789.8765; char sf[20],sd[20]; sprintf(sf,"%f",f); // float 到 char sprintf(sd,"%lf",d); // double 到 char printf("%s %...

可以使用库函数atof。 1 函数名 atof 2 声明 double atof(const char *nptr); 3 头文件 #include 4 功能 将参数nptr中的字符串转为浮点型数据并返回。 5 需要注意的是,必须是合法的字符串,即以实数形式或者科学计数法形式存储的字符串才可以进...

#include #include main(){ char buf[100]; double a=3.14159265358979323846; float b=3.1415927; sprintf( buf, "%lf", a );//for doublt use %lf sprintf( buf, "%f", b ); //for float use %f }

问题不是浮点数转换成字符串,而是浮点数的格式化输出,用是整型描述符"I5"如果用"F6.0",并把STR改成6位,就可以了.

c++中将浮点数转换为字符串,可以使用ssanf函数,如下: #include int main(){ char str[]="3.1414"; float ff; sscanf(str,"f",&ff); printf("%f\n",ff); return 0;}

得出的值先保存到一个变量中 如结果为a= 4.234 如果要保留两位小数的话 unsigned int a=4.234*100; unsigned char s[5]; s[0]=a/100+0x30; s[1]='.' s[1]=a%100/10+0x30; s[2]=a%10+0x30;

网站地图

All rights reserved Powered by www.sllg.net

copyright ©right 2010-2021。
www.sllg.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com