我需要在C中将" 5.71"
转换为5.71
。
我在字符串中读取令牌,但需要将值存储为double。
有没有这样做的功能?我应该使用什么印刷语句?
char *number = "5.71";
printf("%???", double);
任何帮助都会很棒!
答案 0 :(得分:1)
答案 1 :(得分:0)
考虑使用
sscanf(number, "%f", &doubleVar);
这应该是“标准”的方式。
答案 2 :(得分:0)
有没有这样做的功能?
是的,strtod, strtof and strtold分别将字符串转换为double
,float
和long double
。例如:
float f = strtof("2.718281829", NULL);
<\ n> Euh,它们被称为格式说明符。它们也有所不同,具体取决于具体类型:我应该使用哪种印刷语句?
float f = 3.14;
double d = 3.14;
long double ld = 3.14;
printf("%f %lf %llf\n", f, d, ld);