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