我正在制作一个项目,我希望找到一种方法,通过允许用户同时使用“,”和“。”来使我的代码更加通用。表示十进制数。我搜索了其他问题,但只找到了使用其中一个或另一个的答案,但不是两个。也许一个函数替换逗号的所有点?
答案 0 :(得分:1)
您可以将小数作为char数组读取,并用点代替所有逗号:
#include <stdio.h>
#include <stdlib.h>
int main () {
float val;
char str[20];
scanf("%s", str);
for (int i = 0; str[i] != '\0'; ++i) if (str[i] == ',') str[i] = '.';
val = atof(str);
printf("String value = %s, Float value = %f\n", str, val);
return(0);
}